jQuery选择重置

P H*_*P H 78 jquery jquery-plugins jquery-chosen

select在表单中有一堆元素,我正在使用Jquery Chosen插件.我该如何重置表格?以下不起作用:

<input type="reset" />
Run Code Online (Sandbox Code Playgroud)

sot*_*nad 184

你需要重置字段的值,然后liszt:updated在输入上触发事件以使其更新,我在这里做了一个工作示例的小提琴.

http://jsfiddle.net/VSpa3/3/

$(".chzn-select").chosen();
$('a').click(function(){
    $(".chzn-select").val('').trigger("liszt:updated");
});?
Run Code Online (Sandbox Code Playgroud)

自从所选v1.0发布以来,触发器现在称为"已选择:已更新".使用此新版本的任何人都需要使用触发更新

$(".chosen-select").val('').trigger("chosen:updated");
Run Code Online (Sandbox Code Playgroud)

  • 好答案!使用最新版本的Chosen,这应该是"("选择:更新")" (14认同)
  • 这是史诗般的!奇迹般有效!非常感谢! (4认同)
  • 谷歌+ StackOverflow> docs再一次. (3认同)
  • 很棒的答案!但是有可能重置并再次显示原始占位符吗? (2认同)
  • 啊,我想我找到了...... `$selectField.val([]).trigger('chosen:updated')` 似乎可以解决问题 (2认同)

小智 52

自从所选v1.0发布以来,触发器现在称为"已选择:已更新".使用此新版本的任何人都需要使用触发更新

$(".chosen-select").val('').trigger("chosen:updated");
Run Code Online (Sandbox Code Playgroud)


小智 14

你可以试试这个:

$('select').chosen('destroy');  

$('select').prop("selectedIndex", -1);   
$('select').chosen();
Run Code Online (Sandbox Code Playgroud)


buz*_*ykg 11

为了重置工作自然使用这个:

$("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');
    });
}
Run Code Online (Sandbox Code Playgroud)