[英]Add items to an array and then serialize() javascript
我正在嘗試在javascript中將項添加到數組中,然后序列化數組。 但是,它似乎沒有起作用。
請看下面的代碼,我做錯了什么?
var currentParent = $(this).closest('tr');
var items = $("input,select", currentParent);
items["_token"] = $('input[name=_token]').val();
var strData = items.serialize();
方法serialize
需要應用於整個表單,而不是應用於數組中的特定項,如果要序列化現有對象或數組,則需要使用param
代替
http://api.jquery.com/jquery.param/
舉個例子 :
<form action="">
<input class="token" name="token" value="someValue" />
<input class="someData" name="someData" />
</form>
<script>
alert($('form').serialize()) // should show you someData=&token=someValue
</script>
https://jsfiddle.net/4cxa36vp/
... 要么 ...
var options = {
token : $('input.token').val(),
someData : null
}
alert($.param(options)) // should give you the same
https://jsfiddle.net/0ec8axot/
另外,請確保您的表單字段具有屬性name
試試下面的javscript代碼片段。 我沒試過,但我認為它可能會奏效:
var currentParent = $(this).closest('tr');
var items = $(currentParent).find("input, select");
items["_token"] = $('input[name=_token]').val();
var strData = items.serialize();
請參閱以下小提琴鏈接: https : //jsfiddle.net/nanncngr/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.