【问题标题】:Check if value exists in selectpicker options检查 selectpicker 选项中是否存在值
【发布时间】:2020-05-20 09:22:53
【问题描述】:

我需要检查我的选择器中是否已经存在一个选项(arrayItem)来填充它:

$("#iselectroledirregional").append('<option value="' + arrayItem + '">' + arrayItem + '</option>').selectpicker('refresh');

我已经在 if/else 语句中尝试过:

$("#yourSelect option[value='yourValue']").length > 0;

但它不起作用,因为我的选择下拉列表不包含值标签:

谢谢

【问题讨论】:

    标签: javascript select bootstrap-selectpicker


    【解决方案1】:

    您可以像这样在每个标签跨度上设置一个特定的类:

    <span class=text val-NR">NR<span>
    

    然后您可以使用以下代码进行检查:

    $("#yourSelect a[role='option'] > span.val-NR").length > 0;
    

    另一种方法是使用jquery包含伪类:

    $("#yourSelect a[role='option'] > span:contains('NR')").length > 0;
    

    您可以在此处找到包含选择器:https://api.jquery.com/contains-selector/。如果这不能正常工作,请给我们完整的 html 和 js 代码。

    【讨论】:

    • 我不能使用第一个,但你的第三个似乎很好,我试过了,但在这种情况下我从来没有真正的
    • 尽量让选择器更短:$("#yourSelect span:contains('NR')").length > 0;
    • 您也可以尝试在浏览器的开发者网页控制台中执行此代码:$("#yourSelect span:contains('NR')").length
    • 我总是误会
    • 这是我的 HTML 的呈现方式。我什至在下拉列表中都看不到我的两个选项jsfiddle.net/decodeman/v7naao59
    猜你喜欢
    • 1970-01-01
    • 2012-07-16
    • 1970-01-01
    • 2010-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    • 2016-04-25
    相关资源
    最近更新 更多