当我点击第一个(隐藏)时,我会尝试自动检查第二个checkobx(删除它!)?系统生成的html不包含复选框元素的任何id或类。我试图定位name属性,但每次都失败。
jQuery(document).ready(function($){
$("input:checkbox[name='eddhd']").click(function() {
$(this).parents('.eddhrd::nth-child(2))').siblings("input:checkbox[name='eddhrd']").find('input:checkbox').attr("checked","checked");
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<fieldset class="es-el eddhd">
<div class="es-label">
<label for="es-eddhd">Hide it</label>
<br>
</div>
<div class="es-fields">
<span data-required="no" data-type="radio"></span>
<label>
<input name="eddhd[]" value="Yes" type="checkbox"> Yes
</label>
</div>
</fieldset>
<fieldset class="es-el eddhrd">
<div class="es-label">
<label for="es-eddhrd">Delete it!</label>
<br>
</div>
<div class="es-fields">
<span data-required="no" data-type="radio"></span>
<label>
<input name="eddhrd[]" value="Yes" type="checkbox"> Yes
</label>
</div>
</fieldset>
答案 0 :(得分:3)
尝试以下摘录。
$(document).ready(function($){
$("input[name='eddhd[]']").change(function() {
$("input[name='eddhrd[]']").prop("checked", $(this).is(":checked"));
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<fieldset class="es-el eddhd">
<div class="es-label">
<label for="es-eddhd">Hide it</label>
<br>
</div>
<div class="es-fields">
<span data-required="no" data-type="radio"></span>
<label>
<input name="eddhd[]" value="Yes" type="checkbox"> Yes
</label>
</div>
</fieldset>
<fieldset class="es-el eddhrd">
<div class="es-label">
<label for="es-eddhrd">Delete it!</label>
<br>
</div>
<div class="es-fields">
<span data-required="no" data-type="radio"></span>
<label>
<input name="eddhrd[]" value="Yes" type="checkbox"> Yes
</label>
</div>
</fieldset>
&#13;
答案 1 :(得分:2)
您可以使用change
功能检查复选框是checked
还是check
其他复选框,否则uncheck
。
$("input:checkbox[name='eddhd[]']").change(function () {
if ($(this).is(":checked"))
$("input:checkbox[name='eddhrd[]']").attr("checked", "checked");
else
$("input:checkbox[name='eddhrd[]']").attr("checked", false);
});
答案 2 :(得分:1)
您需要遍历DOM以从父fieldset
元素的兄弟中找到复选框,然后使用.prop('property', value)
设置已检查的属性。
$(document).ready(function($) {
$("input[name='eddhd[]']").change(function() {
$(this) //Referes to current element
.closest('.eddhd') //Target parent fieldset with eddhd class
.next('.eddhrd') //Target immediate sibling
.find("input[name='eddhrd[]']") //Find the checkbox
.prop("checked", this.checked); //set the checked property
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<fieldset class="es-el eddhd">
<div class="es-label">
<label for="es-eddhd">Hide it</label>
<br>
</div>
<div class="es-fields">
<span data-required="no" data-type="radio"></span>
<label>
<input name="eddhd[]" value="Yes" type="checkbox">Yes
</label>
</div>
</fieldset>
<fieldset class="es-el eddhrd">
<div class="es-label">
<label for="es-eddhrd">Delete it!</label>
<br>
</div>
<div class="es-fields">
<span data-required="no" data-type="radio"></span>
<label>
<input name="eddhrd[]" value="Yes" type="checkbox">Yes
</label>
</div>
</fieldset>
&#13;
答案 3 :(得分:1)
试试这个
$word
答案 4 :(得分:1)
如果我是对的,您希望在另一个复选框上更改一个复选框的状态。对??下面是单击第一个复选框时检查第二个复选框的示例代码。
$('.es-el.eddhd input[type=checkbox]').on('change', function() {
$('.es-el.eddhrd input[type=checkbox]').attr('checked', 'checked');
})