欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

jquery表單提交多選按鈕

劉承雄1年前7瀏覽0評論

在jQuery中,我們可以使用serialize()方法快速將表單內容序列化為字符串,方便提交表單。但是在表單中有多選按鈕時,我們需要進行一些處理才能正確提交值。

假設我們有以下表單:

<form id="myForm">
<p>請選擇顏色:</p>
<input type="checkbox" name="color" value="red">紅色<br>
<input type="checkbox" name="color" value="yellow">黃色<br>
<input type="checkbox" name="color" value="blue">藍色<br>
<input type="button" value="提交" id="submitBtn">
</form>

我們可以使用以下代碼將表單內容序列化:

$(document).ready(function() {
$('#submitBtn').click(function() {
var formData = $('#myForm').serialize();
console.log(formData);
});
});

但是如果我們選擇了多個顏色,例如紅色和黃色,序列化結果會是:color=red&color=yellow。這樣提交到服務器后,服務器可能只會取最后一個值,也可能接收到數組類型的值。

為了確保正確提交多選按鈕的值,我們需要手動處理。可以使用以下代碼實現:

$(document).ready(function() {
$('#submitBtn').click(function() {
var colors = [];
$('input[name="color"]:checked').each(function() {
colors.push($(this).val());
});
var formData = $('#myForm').serializeArray();
formData.push({name: "color", value: colors});
console.log(formData);
});
});

這里我們首先使用each()方法遍歷所有被選中的多選按鈕,將其值存入數組中。然后使用serializeArray()方法將表單內容序列化為數組類型。最后將我們手動處理的多選按鈕的值追加到數組末尾中。這樣就可以正確提交多選按鈕的值了。