簡體   English   中英

jQuery表單重置

[英]Jquery form reset

我有以下功能應重置表單的一部分:

function changeForm(sel) {
    var arr = {
       "High-School Student": "hs",
       "University Student": "us"
    };
    $('#' + arr[sel]).show();
    delete arr[sel];
    $.each(arr, function (key, value) {
       var div = '#' + value;
       $(div).hide();
       $(div + ' :input').each(function () {
           $(this).val('');
       });
    });
}

根據另一個字段中的輸入,我顯示div及其相關的字段,並重置所有其他不相關的字段。 有些字段的名稱為數組類型: name="field_name[]" 問題是對於那些字段$(this).val(''); 不會取消選擇所選屬性。 此類型的字段是multiselect,使用http://zellerda.com/projects/tokenize

我不知道此插件是否有功能來重置字段,但是我的解決方法是觸發每次關閉的點擊:

假定此HTML:

<div class="tokenize-sample Tokenize" id="tk1">
    <ul class="TokensContainer">
        <li class="Token" data-value="CH"><a class="Close">×</a><span>Switzerland</span></li>
        <li class="Token" data-value="FR"><a class="Close">×</a><span>France</span></li>
        <li class="Token" data-value="DE"><a class="Close">×</a><span>Germany</span></li>
        <li class="TokenSearch"><input size="5"></li>
    </ul>
    <ul class="Dropdown" style="display: none;"></ul>
</div>

我將執行此js:

$("#tk1 .Token .Close").trigger( "click" );

因為該組件生成的是UL而不是輸入,並且標簽內唯一的輸入元素是“ TokenSearch”類的輸入

$.each(arr, function (key, value) {
   var div = '#' + value;
   $(div).hide();
   $(div + ' :input').val('');
   $(div + ' .Token').remove();
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM