前のドロップダウンで選択されたドロップダウンで、選択したオプションを削除する必要があります。 たとえば、1番目、2番目、3番目のドロップダウンにA、B、C、Dが含まれています。ドロップダウン1でAを選択すると、ドロップダウン2と3の両方に表示されません。同じことがドロップダウン2と3の両方に起こります。以前のドロップダウンで選択したオプションを削除します。
しかし、私のコードでは、物事はこのように実際には、次のとおりです。
私はPHPでループを介して取り込まれ、いくつかのドロップダウンを持っています。
for($y=1; $y<=5; $y++){
echo "<select id='seatplan$x' name='selectSeatplan[]' onChange='callSave($x,$sid)'>";
echo "<select name='selectSeatplan[]'>";
echo "<option value=''> ------------ </option>";
seatplanDdNames($sid);
echo "</select>";
} //END FOR Y<-5
その * seatplanDdNames($のSID)に注意してください - 名前をデータベースから生成されている関数であり、ここで私はそれからオプションをエコーする方法である。そして、javascript関数のcallSave
function seatplanDdNames($sid) {
echo "<option value='$studentno' onClick='callSave($x,$sid)'>$name</option>";
}
を:
function callSave(x,sid){
var name = 'seatplan' + x;
name = name.toString();
var selectBox = document.getElementById(name);
var strUser = selectBox.options[selectBox.selectedIndex].value;
var js = document.createElement('script');
js.setAttribute('language', 'javascript');
js.setAttribute('type', 'text/javascript');
js.setAttribute('src', 'seatplan-getvalues.php?uid='+strUser+'&sid='+sid+'&rtype=CLS&seatno='+x);
document.body.appendChild(js);
return false;
}
- 機能callSaveは、一時テーブルで選択したオプションが保存されます。ちょうど私がそれを好きな方法。問題は、私はドロップダウンで提供されるデータの冗長性を避けなければならないということです。
助けが必要ですか?ありがとうございました!
複数選択を使用したくないですか?またはチェックボックス?あなたのニーズにもっと適しているようです。 – Qtax
Hm、私がここにいるのは、座席計画のための機能です。各生徒は座席に割り当てられます。ドロップダウンには学生の名前が表示されます。 :) – kjG