serialize()
將僅檢索元素的name
和value
屬性。
要做到你需要什麼,你可以使用serialize()
爲正常,則選定選項的文本追加到它:
var data = $('form').serialize() + '&attendText=' + $('select option:selected').text();
console.log(data);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<select name='attend'>
<option value="1" selected="selected">Question</option>
<option value="2">Attending</option>
<option value="3">not-attending</option>
</select>
</form>
如果你想使用serializeArray()
你需要push()
的數據生成對象,如下所示:
var data = $('form').serializeArray();
data.push({
name: 'attendText',
value: $('select option:selected').text()
});
console.log(data);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<select name='attend'>
<option value="1" selected="selected">Question</option>
<option value="2">Attending</option>
<option value="3">not-attending</option>
</select>
</form>
但我使用的是serializeArray(),當我試圖連接下拉的值,因爲它顯示像[對象對象]&attendText =控制檯中的商業意味着它丟失了其他數據? –
'serializeArray()'返回一個數組,而不是像'serialize()'這樣的字符串。在這種情況下,您需要使用'push()'添加具有所需數據的新對象。 –
使用哪種格式,我必須將所選文本連接到serializedArray? –