更改jquery clone()上单选按钮的名称
这是我的HTML::更改jquery clone()上单选按钮的名称,jquery,forms,jquery-clone,Jquery,Forms,Jquery Clone,这是我的HTML:: <fieldset> <legend>Attributes</legend> <div class="attr_container"> <div class="attr_entry existent row"> <div class="half"> <label for="attribute[]">At
<fieldset>
<legend>Attributes</legend>
<div class="attr_container">
<div class="attr_entry existent row">
<div class="half">
<label for="attribute[]">Attribute</label>
<input id="attribute" maxlength="50" required="required" name="attribute[]" type="text">
<p>
<a href="javascript:void(0)" class="add_attr"><i class="fa fa-plus-circle"></i> Add Another Attribute</a>
<span class="remove">|
<a href="javascript:void(0)" class="remove_attr"><i class="fa fa-minus-circle"></i> Remove</a></span>
</p>
</div>
<div class="half">
<label for="designator">Is this attribute a designator?</label> <input checked="checked" name="designator[0]" type="radio" value="0" id="designator[0]"> No
<input name="designator[0]" type="radio" value="1" id="designator[]"> Yes
</div>
</div>
</div>
</fieldset>
因此,当我克隆它时,我想知道如何将name属性更改为指示符[1]
。。所以再加上一个。我不知道如何做到这一点,而仍然克隆和插入后,最后附加的克隆
下面是我用来说明如何接受单选按钮数组的HTML:
因为我需要知道我可以在PHP for循环中执行的属性,并获取属于它的正确指示符
谢谢你的帮助 您可以通过评估存在多少
$('.attr_entry')
元素来获得新索引。然后,您可以组合和设置单选按钮的名称
修改您的clone()
行,如下所示:
var newIndex = $('.attr_entry').length;
$('.attr_entry:first').clone(true).removeClass('existent').insertAfter('.attr_entry:last').find('input[type="radio"]').prop('name', 'designator['+newIndex+']');
也请注意,元素的<代码> ID/COD>属性应该是唯一的,所以您可能需要同时考虑更新(使用相同的代码> PROFER)方法。
不太熟悉JQuery中的克隆,可以使用<代码> HARTHER()/<代码>函数设置属性。< /P> 因此,您的代码如下所示:
var designatorIndex = 0;
$('.add_attr').click(function() {
// clone and add
var myVar = $( ".attr_entry:first" ).clone(true).removeClass('existent');
$(myVar).attr('name', 'designator' + designatorIndex );
$(myVar).id('designator' + designatorIndex);
designatorIndex++;
$(myVar).insertAfter( ".attr_entry:last" );
});
我知道有一个attr()方法。我只是不知道在克隆操作发生之前该怎么做,因为在克隆之后,它会删除第一个单选按钮选择,并将其置于该单选按钮上,因此无法选择每个单选按钮。它们是单选按钮,而不是复选框,因为我希望它们选择或,并将其设置为必填项。。他们不必通过复选框选择是或否。。每个条目都必须填写。对不起,我的错。一秒钟,我正在为您制定正确的解决方案。您的jQuery可以工作,但出于一些奇怪的原因,它会取消选中第一个单选按钮,然后当我再次复制它时,第二个保持选中状态,但之后的那些没有默认值。。就像我一开始那样。知道为什么吗?我把他们的身份证擦掉了。我只是在它们上面放了一些类,而不是让它们成为单选按钮,而是让它们成为选择框=)这些代码都不起作用。我甚至一次又一次地修改它,但都无法使它工作。
var designatorIndex = 0;
$('.add_attr').click(function() {
// clone and add
var myVar = $( ".attr_entry:first" ).clone(true).removeClass('existent');
$(myVar).attr('name', 'designator' + designatorIndex );
$(myVar).id('designator' + designatorIndex);
designatorIndex++;
$(myVar).insertAfter( ".attr_entry:last" );
});