我在I am using the Jquery Chosen plugin的表单中有一堆select
个元素。我该如何重置表格?以下不起作用:
<input type="reset" />
答案 0 :(得分:180)
你需要重置字段的值,然后在输入上触发liszt:updated
事件以使其更新,我在这里做了一个工作示例。
$(".chzn-select").chosen();
$('a').click(function(){
$(".chzn-select").val('').trigger("liszt:updated");
});
自所选v1.0发布以来,触发器现在称为“已选择:已更新”。使用此新版本的任何人都需要使用
触发更新$(".chosen-select").val('').trigger("chosen:updated");
答案 1 :(得分:51)
自所选v1.0发布以来,触发器现在称为“已选择:已更新”。使用此新版本的任何人都需要使用
触发更新$(".chosen-select").val('').trigger("chosen:updated");
答案 2 :(得分:12)
你可以试试这个:
$('select').chosen('destroy');
$('select').prop("selectedIndex", -1);
$('select').chosen();
答案 3 :(得分:10)
为了让重置工作自然使用:
$("input[type='reset'], button[type='reset']").click(function(e){
e.preventDefault();
var form = $(this).closest('form').get(0);
form.reset();
$(form).find('select').each(function(i, v) {
$(v).trigger('chosen:updated');
});
}
答案 4 :(得分:0)
之前的选项都不适合我。我必须像旧学校那样做,即使使用一些原生的javascript,这里是代码:
$('#dllSample option').each(function(){
$(this)[0].selected = false;
});
$("#dllSample").trigger("chosen:updated");
答案 5 :(得分:0)
$("#Your_id").trigger("chosen:updated");
这对我有用
答案 6 :(得分:0)
这里没有答案对我有用。 我使用带有multiple属性的selected选择。 正常的提交表单按钮也不能解决问题。 因此,我只需单击一下功能即可。
//Gets the selected values
var selected = [];
for (var option of document.getElementById('mySelect').options) {
if (option.selected) {
selected.push(option.value);
}
}
//Resets the form
document.getElementById('form1').reset();
//Chosen values doesnt get reset, so we do this manually
//Removes the values selected by clicking on the x icon
$link = $('a.search-choice-close');
var i;
for (i = 0; i < selected.length; i++) {
$link[i].click();
}
答案 7 :(得分:-1)
有时你必须重置所选择的选择。
我这样做
jQuery.fn.chosen_reset = function(n){
$(this).chosen('destroy');
$(this).prop('selectedIndex', 0);
$(this).chosen(n)
}
并调用此函数,将选项作为参数
$('select').chosen_reset({width:'369px'});
答案 8 :(得分:-1)
对于更轻松的方法...假设您的输入位于<form>
标记内:
<form>
<!-- your selects go here and any other input fields -->
<input type="reset" value="Reset">
</form>
这就是我要做的事情:
$("input[type='reset'], button[type='reset']").click(function(e){
setTimeout(function(){ $("select").trigger("chosen:updated"); }, 50);
});
请参阅fiddle here。
答案 9 :(得分:-2)
在jQuery中,这样的事情应该起作用
<input name="Text1" id="something" type="text">
<input type="reset" id="reset_me"/>
$("#reset_me").click(function() {
$("#something").val("");
});