问题
I have a bunch of select
elements in a form with which I am using the Jquery Chosen plugin. How can I reset the form? The following does not work:
<input type="reset" />
回答1:
You'll need to reset the value of the field, then trigger the liszt:updated
event on the input to get it to update, ive made a fiddle with a working example here.
http://jsfiddle.net/VSpa3/3/
$(".chzn-select").chosen();
$('a').click(function(){
$(".chzn-select").val('').trigger("liszt:updated");
});
Since the release of chosen v1.0 the trigger is now called 'chosen:updated'. Anyone using this new version needs to trigger the update using
$(".chosen-select").val('').trigger("chosen:updated");
回答2:
Since the release of chosen v1.0 the trigger is now called 'chosen:updated'. Anyone using this new version needs to trigger the update using
$(".chosen-select").val('').trigger("chosen:updated");
回答3:
You could try this:
$('select').chosen('destroy');
$('select').prop("selectedIndex", -1);
$('select').chosen();
回答4:
in order to have reset working naturally use this:
$("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');
});
}
回答5:
None of the previous options work for me. I had to do it like the old school, even using some native javascript, here is the code:
$('#dllSample option').each(function(){
$(this)[0].selected = false;
});
$("#dllSample").trigger("chosen:updated");
回答6:
$("#Your_id").trigger("chosen:updated");
This worked for me
回答7:
Sometimes you have to reset the select that chosen is called on.
I do this
jQuery.fn.chosen_reset = function(n){
$(this).chosen('destroy');
$(this).prop('selectedIndex', 0);
$(this).chosen(n)
}
And call this function like this, with the options as an argument
$('select').chosen_reset({width:'369px'});
回答8:
For a more hassle free approach...assuming your inputs are inside <form>
tags:
<form>
<!-- your selects go here and any other input fields -->
<input type="reset" value="Reset">
</form>
This is what I would do:
$("input[type='reset'], button[type='reset']").click(function(e){
setTimeout(function(){ $("select").trigger("chosen:updated"); }, 50);
});
See fiddle here.
回答9:
In jQuery something like this should work
<input name="Text1" id="something" type="text">
<input type="reset" id="reset_me"/>
$("#reset_me").click(function() {
$("#something").val("");
});
来源:https://stackoverflow.com/questions/7897760/jquery-chosen-reset