私は昨日同様の質問をしましたが、それ以来解決策が出てこなかったので、もっと妥当と思われるロジックに少し行きました働く しかし、それはしませんでした。 どのオプションが事前選択されているかに応じて、ユーザーが利用できるコンボボックスには2つのオプションしかありません。例えば選択されたものに基づいてコンボボックスのオプションを制限する
<SELECT class=caixas id=cbostatus style="WIDTH: 3cm;" tabIndex=25 name=cbostatus onchange= "StatusTest(); hideField();" >
<option selected></option>
<option value="Planned" id="optionPlanned" <?php if ($row['task_status']=='Planned') echo 'selected="selected"';?>>Planned</option>
<option value="Started" id="Started" <?php if ($row['task_status']=='Started') echo 'selected="selected"';?>>Started</option>
<option value="Available" id="Available" <?php if ($row['task_status']=='Available') echo 'selected="selected"';?>>Available</option>
<option value="Finished" id="Finished" <?php if ($row['task_status']=='Finished') echo 'selected="selected"';?>>Finished</option>
<option value="Impeded" id="Impeded" <?php if ($row['task_status']=='Impeded') echo 'selected="selected"';?>>Impeded</option>
</SELECT>
、選択されたときに、「計画」、唯一の他の利用可能なオプションは、「開始」する必要があります。ここではコンボボックスです。そこで、私は行って、OnchangeイベントのためにJavaScriptを作った。そういうわけで。
function hideField(){
var e = document.getElementById("cbostatus");
var strUser = e.options[e.selectedIndex].value;
if(strUser == 'Planned') {
document.getElementById("Impeded").style.display = 'none';
document.getElementById("Available").style.display = 'none';
document.getElementById("Finished").style.display = 'none';
}
}
何らかの理由で間違っている。何か案は? (これまでに使ったことがないので、これを学ぶ時間がないので、Jqueryの使用を提案していないのであれば事前に回答しておきます)
を作成することです
レディ機能のオプションを追加直ちに変更を選択して変更の新しいオプションを表示するか、選択を一度だけ作成して使用しますか? – Adder
は一度だけ作成されて使用され、他のオプションはフォームを送信した後に表示されます – RazorFinger
空の選択から始め、オプションを動的に追加することをお勧めします。私は普通のjavascriptでそれを行うためのコードを持っていない。 – Adder