![](/img/trans.png)
[英]jquery-chosen dropdown should get matched search results at the top
[英]disable jquery-chosen dropdown
我有一个选择div,我正在使用所选的jquery插件来设置样式并添加功能(最值得注意的是,搜索)。 div看起来像这样,
<select data-placeholder="add a foobar" id="foobar" style="width: 350px;">
<option value=""></option>
</select>
我正在使用这样选择的插件,
$('#foobar').chosen();
在加载某些AJAX时,我想禁用整个<select>
div。 也许有这样的事情,
$('#foobar').disable()
或这个
$('#foobar').prop('disabled', true)
我想你应该已经明白了。
关于如何做到这一点的任何想法? 我已经尝试了很多不同的东西,比如使用jquery惯用法来禁用东西,禁用<select>
,它只是禁用底层选择,而不是在它上面选择的东西。 我甚至使用手动添加另一个具有高z-index
div来使盒子变灰,但我认为这可能是丑陋和错误的。
谢谢您的帮助!
您只是禁用了您的select
,但是选择将其渲染为div和span等。因此,在禁用您的选择后,您需要更新插件以禁用选择窗口小部件。 你可以这样试试:
$('#foobar').prop('disabled', true).trigger("liszt:updated");
//For non-older versions of chosen you would want to do:
$('#foobar').prop('disabled', true).trigger("chosen:updated");
我在这里找到了这些信息
一旦你更新小部件,它所做的就是取消绑定插件上的点击或其他事件,并将其不透明度更改为0.5。 因为div没有真正的禁用状态。
在所选的最新版本中, liszt:updated
不再适用。 你需要使用chosen:updated
:
$(".chosen-select").attr('disabled', true).trigger("chosen:updated")
这是一个JSFiddle 。
PSL是正确的,但选择后更新。
在执行禁用后将其放入:
$("#your-select").trigger("chosen:updated");
$('#foobar').prop('disabled', true).trigger("chosen:updated");
这完美!!!! @chosen v1.3.0
$("chosen_one").chosen({
max_selected_options: -1
});
$(document).ready(function () {
$("#foobar").chosen().on('chosen:showing_dropdown',function() {
$('.chosen-select').attr('disabled', true).trigger('chosen:updated');
$('.chosen-select').attr('disabled', false).trigger('chosen:updated');
$('.search-choice-close').hide();
});
$('.search-choice-close').hide();
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.