我有一個頁面正在創建行,其中包括具有非順序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的第一個元素。 –