如何使用jquery重置表单中的多个选择框?

Sea*_*all 5 javascript jquery

如何使用 jquery 在表单中重置多个选择框?

  • 有多个选择框
  • 它们是动态生成的,我们不知道它们会是什么
  • 一些框选项标签将被标记为选中
  • 小提琴:http : //jsfiddle.net/Qnq82/

到目前为止,我有这个,它重置了除选择之外的所有内容。

$('button#reset').click(function(){
    $form = $('button#reset').closest('form');
    $form.find('input:text, input:password, input:file, select, textarea').val('');
    $form.find('input:radio, input:checkbox').removeAttr('checked').removeAttr('selected');
    $form.find('select').selectedIndex = 0;
  });
Run Code Online (Sandbox Code Playgroud)

添加了一些标记:

<form id="form" name="form" method="post" class="form" role="form" action="inventory-search" enctype="multipart/form-data">


    <div class="form-group">
        <label for="grade">Grade</label>
        <select name="grade" class="form-control input-sm" onchange="this.form.submit();">
            <option value="">Any</option>
            <option value="opt1">opt1</option>
            <option value="opt2" selected="selected">opt2</option>

        </select>
    </div>


    <!-- there are 6 more select controls -->


    <div class="form-group">
        <label>&nbsp;</label>
        <button type="submit" name="search" id="search" value="search" class="btn button-sm btn-primary">Search</button>
    </div>

    <div class="form-group">
        <label>&nbsp;</label>
        <button type="reset" name="reset" id="reset" value="reset" class="btn button-sm btn-primary">Reset</button>
    </div>

</form>
Run Code Online (Sandbox Code Playgroud)

Mri*_*jay 5

这将起作用:-

$form.find('select').prop('selectedIndex',0);
Run Code Online (Sandbox Code Playgroud)


Ami*_*oki 1

将最后一行更改为:

$form.find('select')[0].selectedIndex = 0;
Run Code Online (Sandbox Code Playgroud)

selectedIndex是 jQuery 对象的属性HTMLElement,而不是 jQuery 对象的属性。

如果你知道价值,那么你可以做$form.find('select').val('value');