Я до сих пор довольно новичок в javascript, и я не нахожу, где я делаю свою ошибку. Основной настройкой, с которой я работаю, является набор переключателей и набор флажков. В зависимости от переключателя выбора должен быть доступен только определенный набор флажков, остальные должны быть отключены/выделены серым цветом. Какие флажки разрешены для данного переключателя, передаются через массив php. В моем коде эксклюзивные варианты относятся к переключателям, в то время как расширенные варианты относятся к флажкам. Мое Javascript и PHP для этой функции выглядит следующим образом:Javascript - событие Onclick происходит во время и только во время загрузки страницы
window.onload = function(){
<?php
for($i = 0; $i < count($students_information); $i++){
foreach($exclusive_extended_array as $exclusive => $extended){
echo "$('".$i."_exclusive_".$exclusive."').onclick = allow(".$i.",".json_encode($extended).");";
}
}
?>
}
function allow(i, extended){
$('[id^="'+i+'Extended"]').disabled = true;
for (var j = 0; j < extended.length; j++) {
alert(extended[j]);
$(i+"Extended"+extended[j]).disabled = false;
}
}
На загруженной странице появляется, как:
<script type="text/javascript">
window.onload = function(){
$('0_exclusive_2176').onclick = allow(0,[1975]);
$('0_exclusive_911').onclick = allow(0,[]);
$('0_exclusive_795').onclick = allow(0,[1973,1975]);
}
function allow(i, extended){
$('[id^="'+i+'Extended"]').disabled = true;
for (var j = 0; j < extended.length; j++) {
alert(extended[j]);
$(i+"Extended"+extended[j]).disabled = false;
}
}
</script>
К сожалению, что код заканчивает делать это работает скрипт при загрузке страницы, а чем при проверке одного из переключателей. Я не думаю, что это проблема с именами элементов (хотя я понимаю, что стиль именования несовместим, однако у меня нет полного контроля над этим). Я предполагаю, что только я делаю простую ошибку в коде, и у меня все еще недостаточно опыта работы с javascript, чтобы поймать его. Кто-нибудь видит, что я делаю неправильно?
Благодарим вас за внимание!
try $ ('0_exclusive_2176'). Onclick = function() {ваш код идет здесь} – MilkyWayJoe