【问题标题】:How to pass checkbox values into an array using jQuery?如何使用 jQuery 将复选框值传递到数组中?
【发布时间】:2011-10-19 15:42:36
【问题描述】:

我有以下复选框,我想将选中的值传递给一个数组,以便我可以做一个 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

              }
         });

【问题讨论】:

    标签: javascript jquery html arrays checkbox


    【解决方案1】:

    你只需要:

    $.ajax({
        type:"POST",
        url: "PostedHere",
        data: { checkedValues: $("#newCheckboxes:checked").serialize() } 
    });
    // checkedValues: "newCheckboxes=1&newCheckboxes=2" etc..
    

    【讨论】:

    • 感谢您的帮助。我似乎无法在我的 servlet“PostedHere”中检索它。我用String checkedValues= (String) request.getParameter("checkedValues");这是正确的方法吗?
    【解决方案2】:

    使用 karim79 代码思路:

    $.post('URL', $('[name="newCheckboxes"]:checked').serializeArray(), function(data){
      //data
    });
    

    【讨论】:

    • 知道如何在我的 URL 中提取信息吗?
    【解决方案3】:

    我更喜欢做的是:创建一个新对象并将所有复选框'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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-11
      • 2015-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-12
      相关资源
      最近更新 更多