Javascript 克隆复选框字段后,是否使用jQuery获取(并更改)其名称?
我有一些代码,我正试图修改,以便获得复选框名称内的数字 目标是在点击几下后,代码变成这样Javascript 克隆复选框字段后,是否使用jQuery获取(并更改)其名称?,javascript,jquery,html,Javascript,Jquery,Html,我有一些代码,我正试图修改,以便获得复选框名称内的数字 目标是在点击几下后,代码变成这样 <input type="checkbox" name="UPDATE_METHOD[0][]" value="Email" checked="">Email <input type="checkbox" name="UPDATE_METHOD[0][]" value="SMS" checked="">SMS <input type="checkbox" name="UPDA
<input type="checkbox" name="UPDATE_METHOD[0][]" value="Email" checked="">Email
<input type="checkbox" name="UPDATE_METHOD[0][]" value="SMS" checked="">SMS
<input type="checkbox" name="UPDATE_METHOD[1][]" value="Email" checked="">Email
<input type="checkbox" name="UPDATE_METHOD[1][]" value="SMS" checked="">SMS
<input type="checkbox" name="UPDATE_METHOD[2][]" value="Email" checked="">Email
<input type="checkbox" name="UPDATE_METHOD[2][]" value="SMS" checked="">SMS
我正在尝试获取上次更新\u方法[0][]的编号,将其指定为变量,然后添加1
这里有一个JSFIDLE:
感谢您提供的任何帮助…试试这个
$(document).ready(function(){
$(".clone_trigger_button_1").click(function () {
var total = $('[name^="UPDATE_METHOD"]').length;
var index = Math.round(total / 2);
$('.clone_replicate_this_div_1').last().clone().insertBefore(".placer_1");
$('input.cl:last').val('');
$('.clone_replicate_this_div_1').last().find("input[type='checkbox']").prop("name","UPDATE_METHOD["+index+"][]");
event.preventDefault();
});
});
HTML:
这个解决方案很奇怪,但对我来说一直有效
$(document).ready(function(){
var counter = 1 ;
$(".clone_trigger_button_1").click(function () {
var newObject = '<div class="clone_replicate_this_div_1"><input type="checkbox" name="UPDATE_METHOD[' + counter + '][]" value="Email" checked="">Email<input type="checkbox" name="UPDATE_METHOD[' + counter + '][]" value="SMS" checked="">SMS</div>' ;
$(newObject).insertBefore(".placer_1");
counter++ ;
event.preventDefault();
});
});
$(文档).ready(函数(){
var计数器=1;
$(“.clone_触发器_按钮_1”)。单击(函数(){
var newObject='EmailSMS';
$(newObject).insertBefore(“.placer_1”);
计数器++;
event.preventDefault();
});
});
太棒了!这太棒了,非常感谢:-)这是修复我一天来一直在做的东西的最后一部分!
$(document).ready(function(){
$(".clone_trigger_button_1").click(function () {
var total = $('[name^="UPDATE_METHOD"]').length;
var index = Math.round(total / 2);
$('.clone_replicate_this_div_1').last().clone().insertBefore(".placer_1");
$('input.cl:last').val('');
$('.clone_replicate_this_div_1').last().find("input[type='checkbox']").prop("name","UPDATE_METHOD["+index+"][]");
event.preventDefault();
});
});
<div class="placer_1"></div>
<a href="#" class="clone_trigger_button_1">Clone row 1</a>
<script type="text/template" id="template">
<div class="clone_replicate_this_div_1">
<input class="email" type="checkbox" checked="checked" />
<label class="email_label">Email</label>
<input class="sms" type="checkbox" checked="checked" />
<label class="sms_label">SMS</label>
</div>
</script>
$(document).ready(function(){
var html = $('#template').html(),
placer = $( '.placer_1' ),
index = 0,
createInputs = function(){
var div = $( html ),
name = 'UPDATE_METHOD[' + index + '][]';
$( '.email', div ).attr( 'name', name )
.attr( 'id', 'update_method_email_' + index );
$( '.sms', div ).attr( 'name', name )
.attr( 'id', 'update_method_sms_' + index );
$( '.email_label', div )
.attr( 'for', 'update_method_email_' + index );
$( '.sms_label', div )
.attr( 'id', 'update_method_sms_' + index );
placer.before( div );
++index;
console.log( index );
};
$(".clone_trigger_button_1").click(function ( evt ) {
createInputs();
evt.preventDefault();
});
createInputs();
});
$(document).ready(function(){
var counter = 1 ;
$(".clone_trigger_button_1").click(function () {
var newObject = '<div class="clone_replicate_this_div_1"><input type="checkbox" name="UPDATE_METHOD[' + counter + '][]" value="Email" checked="">Email<input type="checkbox" name="UPDATE_METHOD[' + counter + '][]" value="SMS" checked="">SMS</div>' ;
$(newObject).insertBefore(".placer_1");
counter++ ;
event.preventDefault();
});
});