選択オプションを動的に入力するためのコードがいくつかあります。これをローカルのプレーンテキストファイルで使用すると機能します。ただし、これは私の wordpress ベースのサイトでは機能しません。コードは次のとおりです。
<div class="postcell">
<select onchange="populate1(this)" id="toplevel">
<option>SEÇİNİZ</option>
<option value="Keçiören">Keçiören</option>
</select>
</div>
<div class="postcell">
<select id="selectlevel2"></select>
</div>
<script type="text/javascript">
function populate1(selectp)
{
selectc=document.getElementById('selectlevel2');
if(!selectc){return;}
var content=new Array();
content['Keçiören']=['BLABLA', 'araba'];
selectc.options.length=0;
cur=content[selectp.options[selectp.selectedIndex].value];
if(!cur){return;}
selectc.options.length=cur.length;
for(var i=0;i<cur.length;i++)
{
selectc.options[i].text=cur[i];
selectc.options[i].value=cur[i];
}
alert(selectc.options[0].text);
alert(selectc.options[1].text);
}
</script>
コードが少し乱雑であることは承知しています。でも動的に作成されるので、どうしようもありませんでした。最後の 4 ~ 5 行 ( alert のあるもの) の部分は、関数を実行しているかどうかを制御するためのものです。そして、どうやら、私は機能を実行しています。アラートがポップアップし、予想されるコンテンツも表示されます。また、 for ループが正常に機能することも証明しています。
また、firebug で js エラーがないことを確認して検証しました。
これが機能しない場合は、他の多くのコードを変更する必要があります。どんな助けにも感謝します。ありがとうございました。
- - - 編集 - - -
私はちょうど気づいた、私は問題を説明しなかった-.-. 問題は、これらの制御されたアラート ボックスで正しいコンテンツを取得できることです。しかし、2 番目の選択ボックスの内容は期待どおりに変更されません。私がやろうとしていたのは、最初の選択ボックスで選択された内容に基づいて、2 番目の選択ボックスのオプションを変更することです。最初の ID は「toplevel」、2 番目の ID は「selectlevel2」です。
私も追加したい:
テンプレートは、select タグの下に次の行を自動的に追加します。
<div id="selectlevel2_chzn" class="chzn-container chzn-container-single chzn-container-single-nosearch" style="width: 220px;" title="">
<a class="chzn-single" tabindex="-1" href="javascript:void(0)">
<span>Seçiniz</span>
<div>
したがって、新しい要素を動的に追加しても、それらの「Seçiniz」はオーバーライドされます。(これは、PHPコードで最初のデフォルト要素として決定しました。これは、「選択してください」を意味します。) それらのセリフが何であれ、それは「Chosen」と呼ばれるものについてだと思います。すべての選択タグの下にそのような div タグを自動的に追加するにはどうすればよいですか?