更改选中复选框行的输入字段名称
注意:每行中可能存在或不存在类型字段。
如果name []和type [] fields存在,请将name更改为name1 []和type1 []。或者只是在类型[]不存在的情况下更改name []字段的名称。
$(document).ready(function() {
$(".click1").on('change', function() {
if($(this).is(":checked")) {
alert('checked')
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li id="row_3">
<div class="col-md-6">
<input type="text" name="name[]">
<input type="text" name="type[]">
<input type="checkbox" name="click" class="click1">
</div>
</div>
</li>
答案 0 :(得分:2)
您应.find('input[name^="type"]')
并检查是否存在,如果是,请将其他输入元素的name
更改为name1
。以下是更新后的代码:
$(document).ready(function() {
$(".click1").on('change', function() {
if ($(this).is(":checked")) {
if ($(this).parent().find('input[name^="type"]').length) {
$(this).parent().find('input[name^="name"]').prop('name', 'name1[]');
}
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li id="row_3">
<div class="col-md-6">
<input type="text" name="name[]">
<input type="text" name="type[]">
<input type="checkbox" name="click" class="click1">
</div>
</li>
答案 1 :(得分:0)
将id
添加到这两个元素中,以便您可以在代码中轻松访问它们。
<input type="text" id="name" name="name[]">
<input type="text" id="type" name="type[]">
并且,在您的jQuery中,更改如下名称:
$(document).ready(function() {
$(".click1").on('change', function() {
if($(this).is(":checked")) {
$("#name").attr("name", "name1[]");
$("#type").attr("name", "type1[]");
}
});
});
好消息是,如果您移除#type
字段,$("#type")
将返回一个空集,并且您将不会对其执行任何操作。