私はまだかなり新しいJavaScriptですが、私は自分のミスをどこにしているのか分かりません。私が作業している基本的なセットアップは、一連のラジオボタンと一連のチェックボックスです。選択されたラジオボタンに応じて、チェックボックスの特定のセットのみが使用可能になり、残りは無効/グレー表示にする必要があります。任意のラジオボタンに対して許可されるチェックボックスは、PHP配列を介して渡されます。私のコードでは、排他的な選択肢はラジオボタンを参照し、拡張された選択肢はチェックボックスを参照します。次のように、この機能のための私のJavaScriptとPHPは次のとおりです。ときではなく、ページのロード残念ながら、どのようなコードがやって終わることは、スクリプトを実行しているJavascript - Onclickイベントは、ページロード中のみに発生します。
<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>
:
ロードされたページで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;
}
}
それはとして表示されますラジオボタンの1つがチェックされているときよりも。私はそれが要素の名前の問題ではないと思う(しかし、私は命名様式が一貫していないことを認識しているが、私はそれを完全に制御することはできない)。私はそれが私のコードで単純な間違いをしていると仮定していると私はまだそれをキャッチするために十分なJavaスクリプトの経験がありません。誰でも私が間違っているのを見ますか?
ありがとうございました!
try $( '0_exclusive_2176')。onclick = function(){あなたのコードはここにあります} – MilkyWayJoe