javascript - 选择表单中具有给定数据 ID 的所有选项

标签 javascript jquery html

我有一个表单,我正在尝试禁用或隐藏具有特定 data-id 属性的选择表单元素中的选项。示例表单:

<fieldset id="fuu">
    <select name="bar1">
        <option value="option1" data-id="available">Option 1</option>
        <option value="option2" data-id="notAvailable">Option 2</option>
        <option value="option3" data-id="available">Option 3</option>
    </select>

    <select name="bar2">
        <option value="anotherOption1" data-id="available">Option 1</option>
        <option value="anotherOption2" data-id="notAvailable">Option 2</option>
        <option value="anotherOption3" data-id="available">Option 3</option>
    </select>
</fieldset>

我想隐藏(并禁用不支持隐藏的浏览器)data-id 为“notAvailable”的选项。

这是我尝试过的:

<script>
    $(document).ready(function () {
        //hide unavailable options
        var unavailable = notAvailable;
        $('#fuu select option').each(function (event) {
            if ($(this).attr("data-id") !== unavailable) {
                $(this).hide().prop('disabled', true);
            }
        });
    });
</script>

我的选择器似乎失败了,因为当我用下面的代码记录结果时,我得到了 127 次“notAvailable : undefined”(我的表单中的每个选项一个)

<script>
    $(document).ready(function () {
        //test by logging
        var unavailable = notAvailable;
        $('#fuu select option').each(function (event) {
            if ($(this).attr("data-id") !== unavailable) {
                var loggedID = $(this).attr("data-id");
                console.log(unavailable + " : " + loggedID);
            }
        });
    });
</script>

感谢您的帮助!

最佳答案

试试下面的代码:

$("#fuu select option[data-id='notAvailable']").hide().prop('disabled', true);

关于javascript - 选择表单中具有给定数据 ID 的所有选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48514598/

相关文章:

javascript - 如何使用 JavaScript/Jquery 在浏览器关闭选项卡上显示带有自定义 HTML 的弹出窗口?我有自定义 HTML 弹出窗口

javascript - 如何从传入的函数 var 中分配一个 var?

javascript - 如何使用 table2excel 将带标题的表格导出到 Excel

javascript - 无论如何要停止可折叠的侧面导航以停止在页面加载时跳转?

javascript - 使用 vanilla Javascript 查找具有部分属性的 DOM 元素

javascript - 无法对原型(prototype)方法进行单元测试

javascript - 隐藏用户地址栏中的主题标签

javascript - Bootstrap3 背景图片不适合 div

html - 下拉选择背景图片和w/o Javascript

javascript - 修改函数上 var 定义的类