我有一个页面正在创建行,其中包括具有非顺序ID的复选框。根据数据库中的数据,有时需要在onload上检查它们。 PHP正在循环数据,创建页面。在jquery页面没有触发
问题:我在循环内的jquery无法正常工作。它不检查复选框或触发更改事件。它也没有显示我在那里的console.log。如果我检查内联复选框,那是工作,但它不会触发更改事件,它必须正确地使页面功能。
这里的一些代码:
<? foreach($weekly as $w){ ?>
// create the row
<input type="checkbox" id="slW_4" name="slW_4" <? if($w['current_sl_id']){echo 'checked';} ?>>
<? if($w['current_sl_id']){ ?>
<script language="text/javascript">
$(document).ready(function(){
$('#slW_4').prop('checked', true);
console.log('should have checked the checkbox: '+ $('#slW_4').is(':checked'));
$('#slW_4').trigger("change");
console.log('should have triggered change');
});
</script>
<? } ?>
<? } ?>
您的doc.ready处理程序在循环内部=不正确 – adaam
我强烈建议在该循环之外考虑您的JavaScript。最糟糕的情况是,你必须稍后在代码中重新使用'$ weekly'。 –
您也在每个循环上输出相同的ID。 '$('#slW_4')'只会获得具有该ID的第一个元素。 –