我想隐藏使用Chosen插件创建的下拉列表中的某些元素。
我试过删除它:
$( 'option:contains("Swatch 1")').remove().trigger("chosen:updated");
并隐藏它:
$( '.chosen-results li:contains("Swatch 1")').css('display,'none');
但两者都不起作用。
请参阅颜色下拉列表:http://www.carolineelisa.com/test/wordpress/product/machine/
任何帮助表示赞赏:)
答案 0 :(得分:6)
在原始选择中,您需要隐藏该选项。例如:
$('select.chosen-select options:contains("Swatch 1")');
然后用以下内容更新所选选项:
$('select.chosen-select').trigger("chosen:updated");
如果您在页面上选择了多个下拉菜单,那么最好在$(' select.chosen-select' select)选择该元素上使用更具体的ID或类。 )。所以你的代码将成为:
$('#swatch_select options:contains("Swatch 1")');
$('#swatch_select').trigger("chosen:updated");
答案 1 :(得分:0)
这很好用
jQuery( '.chosen-results li:contains("Swatch 1")').hide();
如果您想使用$
安全地包装您的代码(function($) {
// $ Works! You can test it with next line if you like
// console.log($);
})( jQuery );
答案 2 :(得分:0)
这是一个jquery剪断为取消选择并更新指定为多个的所选ddl。 ddlID是所选ddl的ID,ddlValue是选项的value属性。
$("#ddlID option[value='" + ddlValue + "']").prop('selected', false);
$("#ddlID").trigger("chosen:updated");
答案 3 :(得分:0)
隐藏选项并更新....
$('#button').click(function(){
$('select#theIDselect > option[value="Swatch 1"]').hide();
$('#theIDselect').trigger("chosen:updated");
});
答案 4 :(得分:0)
对kamijean代码的小修改:
$('select.chosen-result option[value=830]').hide();
$('select.chosen-result').trigger("chosen:updated");
所以不是选择选择而是选择结果,不是选项而是选项
用于按值选择而不用于标题
{{1}}
答案 5 :(得分:0)
您可以使用值或类别名称隐藏。在此处检查工作代码。
<select id="dd_option" data-placeholder="Select one..." class="chzn-select" style="width:350px;" tabindex="2">
<option value="all" selected="selected"> All </option>
<option value="mls" class="list_srch"> #MLS Number </option>
<option value="zip" class="list_srch"> Zip/Postal </option>
<option value="title"> Listing Title </option>
</select>
<button type="button" id="btn_hide_val">Hide with value</button>
<button type="button" id="btn_hide_class">Hide with class</button>
<button type="button" id="btn_unhide">Unhide</button>
<script>
$(".chzn-select").chosen();
$('#btn_hide_val').click(function() {
// Just hide option #MLS Number, Zip/Postal
$("#dd_option option[value='mls']").hide();
$("#dd_option option[value='zip']").hide();
$("#dd_option").trigger("chosen:updated");
});
$('#btn_hide_class').click(function() {
// Just hide option #MLS Number, Zip/Postal
$("#dd_option option[class='list_srch']").hide();
$("#dd_option").trigger("chosen:updated");
});
$('#btn_unhide').click(function() {
// Just hide option 4
$("#dd_option option[class='list_srch']").show();
$("#dd_option").trigger("chosen:updated");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<html lang="en">
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.8.7/chosen.css" />
</head>
<body>
<form>
<div id="container">
<h3>Show/Hide options with value and class</h3>
<select id="dd_option" data-placeholder="Select one..." class="chzn-select" style="width:350px;" tabindex="2">
<option value="all" selected="selected"> All </option>
<option value="mls" class="list_srch"> #MLS Number </option>
<option value="zip" class="list_srch"> Zip/Postal </option>
<option value="title"> Listing Title </option>
</select>
<br /><br />
<button type="button" id="btn_hide_val">Hide with value</button>
<button type="button" id="btn_hide_class">Hide with class</button>
<button type="button" id="btn_unhide">Unhide</button>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.8.7/chosen.jquery.js" type="text/javascript"></script>