动态POST单选按钮

时间:2013-04-29 20:25:04

标签: post radio-button

我动态地创建了“jQuery(document).ready(function())”中的单选按钮。

部分代码是: (...)texto_html = texto_html +“”+ record.descricao_equipamento +“:”+ record.nome_fornecedor +“(”+ record.preco_equip_fornecedor +“€)”; (......) 输出没问题,例如:

<h5 class=""><strong>Transmissor 1:</strong></h5>
<div class="control-group">
<label class="control-label"></label>
<div class="controls">
    <label class="radio line">
    <input type="radio" name="optionsRadios11" value="11">Texto 1
    </label>
</div>
</div>

<h5 class=""><strong>Transmissor 2:</strong></h5>
<div class="control-group">
<label class="control-label"></label>
<div class="controls">
<label class="radio line">
    <input type="radio" name="optionsRadios12" value="120">
    Texto 2
</label>
<label class="radio line">
    <input type="radio" name="optionsRadios12" value="12">
    Text 3
</label>
</div>

现在我想用AJAX发布我的表单(数据:$(“#myForm”)。serialize(),(..) 我的问题是在我的php文件中(将检索已发布的值)。我怎么知道我有多少个无线电组?有没有办法将它们序列化,让我们说一系列无线电?因为我真的只想要他们的价值,如果他们属于group1或group2,那就独立了。 谢谢。 我被困在这里! :)))

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你想迭代发送的所有无线电:

我可以想到两种方法:

  1. 您可以遍历所有$ _POST值并通过正则表达式过滤它们(仅获取“optionsRadiosXX”值)

  2. 您还可以在http帖子中添加一个新参数(在form.serialize之后),并在给定表单下添加所有无线电,然后将此参数用作php中的指南。

  3. var getRadios = function() {
        var map = {};
        $("#formID input[type=radio]").each(function(){
            var e = $(this);
            if(!map[e.attr("name")]) {
                map[e.attr("name")] = true;
            }
        });
    
        var a = []
        for(var r in map) {
            a.push(r); 
        }
    
        //  alert(JSON.stringify(a));   
        return a;
    }
    

    请在此处查看示例:http://codepen.io/anon/pen/IKayC

    希望有所帮助。