jQuery过滤器选择选项

iKa*_*ars 1 jquery select options

是否可以过滤特定的选择选项?

我有一个代码:

<select id="adcategory" name="adcategory">
    <option value="">Select</option>
    <option value="25" class="dropdownparentcategory">Florida Atlantic University</option>

    <option value="26">- Books </option>
    <option value="27">- Electronics</option>
    <option value="28">- For Rent</option>

    <option value="17" class="dropdownparentcategory">Florida International University</option>

    <option value="18">- Books</option>
    <option value="19">- Electronics</option>
    <option value="20">- For Rent</option>

    <option value="1" class="dropdownparentcategory">Florida Tech</option>
    <option value="2">- Books</option>
    <option value="3">- Electronics</option>
    <option value="7">- For Rent</option>


</select>
Run Code Online (Sandbox Code Playgroud)

因此,如果变量例如$school = Florida Atlantic University只显示thoes选项女巫直到下一个学校类别(.dropdownparentcategory),所以在这种情况下,他们将只:

<select id="adcategory" name="adcategory">
    <option value="">Select</option>

    <option value="26">- Books </option>
    <option value="27">- Electronics</option>
    <option value="28">- For Rent</option>

</select>
Run Code Online (Sandbox Code Playgroud)

如您在此图片中所示:

在此输入图像描述

是否可以使用jQuery创建?

Tej*_*ejs 8

这看起来像是糟糕的设计.我建议移动到<optgroup> [MDN]标签以对您的下拉项目进行分组:

<select>
    <optgroup label="Florida Atlantic University">
        <option value="1">Text</option>
        <option value="2">Text</option>
        <option value="3">Text</option>
    </optgroup>
    <optgroup label="Florida Tech">
        <option value="4">Text</option>
        <option value="5">Text</option>
        <option value="6">Text</option>
    </optgroup>
</select>
Run Code Online (Sandbox Code Playgroud)

然后,选择子元素非常容易;

$('optgroup[label*="' + yourSchoolName + '"]').find('option')
Run Code Online (Sandbox Code Playgroud)