[英]chosen.js not update when options update
我正在使用chosen.js
,现在遇到一个问题,当我想用ajax
动态附加数据时,它不会更新。 根据所选的官方网站 ,您应该使用此:
$('.my_select_box').trigger('chosen:updated');
而且我做到了,但是它不适用于ajax,但是可以使用简单的追加。 我成功编写了此代码,但看起来这段代码的运行速度比添加代码快。 任何想法?
$('.chosen-select').chosen(); $('#Update').click(function() { $.ajax({ type: "POST", dataType: 'json', url: 'xxxxx.json', success: function(data) { $('select').append('<option value="' + data[i]['id'] + '">' + data[i]['title'] + '</li>'); $('.chosen-select').trigger('chosen:updated'); // update chosen } }); });
select { width: 200px; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.8.2/chosen.jquery.min.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.8.2/chosen.css" /> <select class="chosen-select" multiple> <option>1</option> <option>2</option> <option>3</option> </select> <a>Update</a>
我建议您使用Select2,因为它支持实时追加(包括ajax),因此您无需使用任何trigger
来更改或更新或其他任何方式。 Select2
更extensible
比chosen
。
轻松将chosen
转换为select2
:
$('.chosen-select').select2({
placeholder: 'Select an option'
})
例:
$('.chosen-select').select2(); i = 3; $('#Update').click(function() { i++; $('select').append('<option>'+i+'</li>'); });
select { width: 200px; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/select2.min.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/css/select2.css" /> <select class="chosen-select" multiple> <option>1</option> <option>2</option> <option>3</option> </select> <a id="Update">Update</a>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.