簡體   English   中英

如何使用jQuery將復選框值傳遞到數組中?

[英]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.

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