我有很多单选按钮组。我想将所有单选按钮id设置为父div的id +其自身值。因为单选按钮来自外部HTML,在某些情况下,我必须在一个页面中使用相同的按钮几次。我的代码示例如下所示,当您选择单选按钮时,其id和表单ID已正确设置。有没有办法在页面加载时自动进行,而不是基于选择?
<div id="x1" class="section">
<form id="" class="myFormClass">
<input id="" class="myRadio" name="someName-1" value="one">one
<input id="" class="myRadio" name="someName-1" value="two">two
</form>
</div>
<div id="x2" class="section">
<form id="" class="myFormClass">
<input id="" class="myRadio" name="someName-2" value="three">three
<input id="" class="myRadio" name="someName-2" value="four">four
</form>
</div>
<script>
$(document).on('change', "input:radio", function(){
var parentId = $(this).closest(".section").attr("id");
var radioValue = this.value;
var radioName = this.name;
$(this).parent("form").attr("id", parentId + radioName + "Form")
$(this).attr("id", parentId + "-" + radioValue);
})
</script>
让我再问一个问题。当我试图获得一些具有共同属性的元素时,我只能得到第一个元素。
var iNeedYou = $("input:radio[name='someName-1']").val();
返回&#34;一个&#34;。有办法搞定所有这些吗?
谢谢。
答案 0 :(得分:2)
使用$( document ).ready()
(简称$(function()
)在加载页面时运行代码。
如果您想要单选按钮,请将输入设置为type='radio'
。
您的额外问题:您可以使用$('yourSelector').each(function(){
选择多个元素。见例。
另请参阅示例中给出的ID(父div id +自己的值):
$(function() {
$('input[type=radio]').each(function(){
var parentId = $(this).closest(".section").attr("id");
$(this).attr("id", parentId + $(this).val());
});
});