![](/img/trans.png)
[英]how to pass checkbox values in an array to a function using onclick in javascript
[英]How to pass checkbox values into an array using jQuery?
我有以下復選框,我想將檢查后的值傳遞給數組,以便執行ajax發布。 但是,我遇到了一個錯誤,我不確定出錯的地方...如何將值傳遞到數組中以及如何檢索它們?
HTML
<input type="checkbox" name="newCheckboxes" value="1" />
<input type="checkbox" name="newCheckboxes" value="2" />
<input type="checkbox" name="newCheckboxes" value="3" />
腳本(不起作用)
var allFields = $( [] );
$("#newCheckboxes:checked").each(function() {
allFields.add( $(this).val() );
});
$.ajax(
{
type:"POST",
url: "PostedHere",
data:{
checkedValues: allFields
}
});
您只需要:
$.ajax({
type:"POST",
url: "PostedHere",
data: { checkedValues: $("#newCheckboxes:checked").serialize() }
});
// checkedValues: "newCheckboxes=1&newCheckboxes=2" etc..
使用karim79代碼的想法:
$.post('URL', $('[name="newCheckboxes"]:checked').serializeArray(), function(data){
//data
});
我更喜歡做的是:創建一個新的Object並將所有復選框“ Value”和“ Ischecked”添加到數組(訪問),然后按Json將其傳遞給頁面:
$(document).ready(function () {
$("#btnSave").click(function () {
event.preventDefault();
$("#newCheckboxes").each(function () {
var data= new Object()
var access = new Array();
access.ChValue = $(this).attr("value");
if ($(this).attr("checked") == "checked") access.ChChecked = true;
data.push(access);
});
$.ajax({
type: 'POST',
url: '@Url.Content("~/URLofPage")',
data: $.json.encode(data),
dataType: 'json',
contentType: 'application/json; charset=utf-8'
});
});
});
請不要忘記將Json參考添加到您的頁面:
<script src="../../../Scripts/jquery.json.js" type="text/javascript"></script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.