Javascript 无法识别父项().prev()组合
我有以下代码和脚本。关于内部输入,id=“sfctry”,我的jquery在获取外部输入id=“eca”时遇到问题 正如您在script标记中所看到的,我目前有$(this).parents('ul').prev().find('input.cccc'),但我也尝试了closest()、prev().prev().prev()和其他组合 谢谢你的帮助Javascript 无法识别父项().prev()组合,javascript,php,jquery,parent-child,Javascript,Php,Jquery,Parent Child,我有以下代码和脚本。关于内部输入,id=“sfctry”,我的jquery在获取外部输入id=“eca”时遇到问题 正如您在script标记中所看到的,我目前有$(this).parents('ul').prev().find('input.cccc'),但我也尝试了closest()、prev().prev().prev()和其他组合 谢谢你的帮助 <li id="sepe"> <input type="checkbox" id="eca" name=
<li id="sepe">
<input type="checkbox" id="eca" name="eca" class="cccc">
<label for="eca" ><?php echo $this->translate('Shall'); ?></label><br>
<a id="ep" title="Select">Select</a>
<ul>
<?php foreach ($this->data['ectries'] as $e-cp_r) {
if ($this->form_data['sfctry'] == $e-cp_r['cp_id']) {
unset($e-cp_r);
} else {
?>
<li>
<input <?php echo in_array($e-cp_r['cp_id'], $ids) ? 'checked="checked"' : ''; ?> type="checkbox" id="sfctry" name="item_s" value="<?php echo $e-cp_r['cp_id']; ?>"><label for="sfctry"><?php echo $e-cp_r['tribe']; ?></label>
</li>
<?php
}
} ?>
</ul>
</li>
<script>
if ($('input[name="item_s"]').not(':checked').length === 0){
$(this).parents('ul').prev().find('input.cccc').prop({
indeterminate: false,
checked: true
});
</script>
挑选
-
如果($('input[name=“item_s”]')。不(':checked')。长度==0){
$(this).parents('ul').prev().find('input.cccc').prop({
不确定:错误,
核对:正确
});
是否定义了$(this)?prev()
仅获取前一个元素。若要获取任何前一个同级元素,请使用prevAll
-请参阅。更灵活的方法可能类似于$(this)。parents('ul')。parents('li')。find('input.cccc');
。显然是$(this)没有在代码中引用您的复选框。另外,如果您有多个复选框,请尝试使用类而不是id。您需要绑定事件,例如单击等。我猜您希望循环每个li->id“sepe”如果没有选中任何复选框,您希望为输入cccc设置属性。这就是您正在尝试的吗?Tx everyone。是的,@Farhan,这就是我正在尝试做的,但我遇到了问题,因为正如git-e-up正确指出的那样,$(这)没有定义。