簡體   English   中英

如何使用jQuery清除輸入數組的所有元素

[英]How to clear a input array all elements using jQuery

我使用html數組方法定義了我的表單元素,如下所示:

<input type="text" maxlength="45" name="Apikey[key]">
<select name="Apikey[developer]">

如何使用jQuery清除所有Apikey數組?

問題是如何清除它們? 必須清除所有可能的表單字段。

在選擇器中嘗試^(以...開頭)而不是|。 還要使用數據重置適當存儲初始值的字段。 即:

$(function(){
    $("input[name^=Apikey]").each(function(){
      var $this = $(this);
      $this.data("initial-val", $this.val());
    });
});
.
.
.
function resetApiValues(){
   $("input[name^=Apikey]").each(function(){
     var $this = $(this);
     $this.val($this.data("initial-val"));
   });
}

$( '輸入[名稱^ = “Apikey”]')...

此處查看官方jQuery API 再見

最簡單的方法是使用“標准”表單插件並調用clearForm()clearFields()

$('#formId').clearForm();
$('#formId [name^=Apikey]').clearFields();

或者,如果您不想要或不需要所有額外的表單插件機制,只需抓住源代碼並找出clearForm()clearFields()工作原理。 clearFields()實際上非常簡單:

$.fn.clearFields = $.fn.clearInputs = function() {
    return this.each(function() {
        var t = this.type, tag = this.tagName.toLowerCase();
        if (t == 'text' || t == 'password' || tag == 'textarea') {
            this.value = '';
        }
        else if (t == 'checkbox' || t == 'radio') {
            this.checked = false;
        }
        else if (tag == 'select') {
            this.selectedIndex = -1;
        }
    });
};

干得好:

$("input[name^='Apikey']").attr("name", "");

清除價值觀:

$("input[name^='Apikey']").val("");

我看到你已經編輯過包含不同的HTML元素,在這種情況下:

$("*[name^='Apikey']")).each(function() { 
    switch(this.type) { 
        case 'password': 
        case 'select-multiple': 
        case 'select-one': 
        case 'text': 
        case 'textarea': 
            $(this).val(''); 
            break; 
        case 'checkbox': 
        case 'radio': 
            this.checked = false; 
    } 
}); 

你不能清除所有的價值觀。 像SELECT這樣的元素必須有一個值。

暫無
暫無

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

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