动态生成的名称字段的单选按钮组验证

时间:2015-06-05 10:00:54

标签: javascript jquery html5 radio-button

CODE:

HTML

<form id="myform" type="post">
    <fieldset id="myid1">
        <input id="entries_8490_burn_id_1" name="entries[8490][burn_id]" value="1" type="radio"/>
        <input id="entries_8490_burn_id_2" name="entries[8490][burn_id]" value="2" type="radio"/>
        <input id="entries_8490_burn_id_3" name="entries[8490][burn_id]" value="3" type="radio"/>
    </fieldset>
    <fieldset id="myid2">
        <input id="entries_8491_burn_id_1" name="entries[8491][burn_id]" value="1" type="radio"/>
        <input id="entries_8491_burn_id_2" name="entries[8491][burn_id]" value="2" type="radio"/>
        <input id="entries_8491_burn_id_3" name="entries[8491][burn_id]" value="3" type="radio"/>
    </fieldset>
    <input type="submit" />
</form>

JS / jquery的

$( document ).ready(function() {
    $('#myform').on('submit', function(e) {
        e.preventDefault();
        $("fieldset[id^='myid']").each(function () {
           myid = this.id
           alert(myid)
           alert($(myid +" > input[name^='entries']").is(":checked"));
        });               
    });    
});

小提琴:http://jsfiddle.net/woav90mz

问题:

当我检查其中一个组中的单选按钮时,我仍然得到&#34; false false&#34;。不知何故,这些团体没有被选中! 谁能发现我的错误?

1 个答案:

答案 0 :(得分:3)

您遗失了# - &gt; Updated fiddle

alert($("#" + myid + " > input[name^='entries']").is(":checked"));

而且,如果您只是想确保从每个组中检查单选按钮,您可以这样做:

$("fieldset[id^='myid']").find(" > input[name^='entries']:checked").length;