【问题标题】:How to get checkbox value through serializedarray()如何通过 serializearray() 获取复选框值
【发布时间】:2014-01-15 12:26:36
【问题描述】:

如何获取数组格式的复选框值,如[{abc:[1,2,3]}]

现在我越来越喜欢[{abc[]:1,abc[]:2,abc[]:3}]...

为了获得序列化数组,我正在使用var form = $('.wpc_contact').serializeArray();

这是我的 html 表单,它正在生成动态(我正在使用拖放来创建动态表单)

    <form method="POST" name="1" class="form-horizontal wpc_contact" novalidate="novalidate">
<fieldset>
    <div id="legend" class="">
        <legend class="">Demo</legend> 
        <div id="alert-message" class="alert hidden" style="color: red;"></div>
    </div>

    <div class="control-group">
        <label class="control-label">Checkboxes</label>
        <div class="controls" name="wpc_chkbox" req="yes">
            <label class="checkbox"> 
                <input type="checkbox" value="Option one" id="wpc_chkbox_0" name="wpc_chkbox[]" req="yes">  Option one        
            </label>        
            <label class="checkbox">
                <input type="checkbox" value="Option two" id="wpc_chkbox_1" name="wpc_chkbox[]" req="yes">   Option two
            </label>    
        </div>
        <p class="help-blocksp" style="display:none;">wpc_chkbox</p>
        <p class="help-block1" style="display:none;" checked="checked"></p>
    </div>
    <div class="control-group">
        <label class="control-label">Inline Checkboxes</label>
        <div class="controls" name="wpc_inline_chkbox" req="yes">
            <label class="checkbox inline">
                <input type="checkbox" value="1" name="wpc_inline_chkbox[]" id="wpc_inline_chkbox_0" req="yes"> 1
            </label>
            <label class="checkbox inline">
                <input type="checkbox" value="2" name="wpc_inline_chkbox[]" id="wpc_inline_chkbox_1" req="yes"> 2
            </label>
            <label class="checkbox inline">
                <input type="checkbox" value="3" name="wpc_inline_chkbox[]" id="wpc_inline_chkbox_2" req="yes"> 3
            </label>
        </div>      
        <p class="help-block" style="display:none;">wpc_inline_chkbox</p> 
        <p class="help-block1" style="display:none;" checked="checked"></p>
    </div>

    <div class="control-group">      
        <div class="controls">                          
            <button class="btn btn-success">Button</button>                     
        </div>                  
    </div>
</fieldset>                 

【问题讨论】:

  • [{abc:1,2,3}] 无效。你的意思是像[{abc:[1,2,3]}] 这样的东西,对吧?然后你必须使用你自己的序列化器。
  • @raina77ow 是的,这只是让你理解的例子
  • 自己的序列化器我没搞懂你..

标签: javascript php jquery serialization


【解决方案1】:

要创建一个数组,请使用这个 -

var arr = $("input[name='checkboxname[]']:checked").map(function() { 
            return this.value; 
          }).get();

替代解决方案:

<input type="checkbox" class="selector" value="{value}"/> //add as many as you wan't
JS

 var checked='';
            $('.selector:checked').each(function(){
                checked=checked+','+$(this).val();
            });
PHP

 $ids=explode(',',substr($_GET['param_with_checked_values'],1));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-14
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 2013-12-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-08
    相关资源
    最近更新 更多