0
お返事ありがとうございます。私は今あなたが注文できる場所からWebページを持っています。このWebページでは、ドロップダウンリストから「製品A」を選択できます。 「製品A」が選択されると、イベントがトリガーされ、別のドロップダウンリストが表示されます。今度は、「製品A」が2番目のドロップダウンリストに表示されないようにします。ここにコードがあります。他のドロップダウンリストから以前のドロップダウンリストで選択したオプションを削除する方法
<table style="margin: 0px auto;width: 700px" id="shopTable">
<tr>
<td>
<select name="product" class="product" style="width: 250px" onchange='onchangeprod(this);' >
<c:forEach var="pro" items="${product}">
<option value="${pro.id}" data-price="${pro.price}">${pro.name}(€${pro.price})</option>
</c:forEach>
</select>
</td>
</tr>
スクリプトは次のとおりです。
function onchangeprod(row){
var test ="<tr>"
+"<td>"
+"<select name='product' class='product' style='width: 250px' onchange='onchangeprod(this);'>"
+"<c:forEach var='pro' items='${product}'>"
+"<option value='${pro.id}' data-price='${pro.price}'>${pro.name}(€ ${pro.price})</option>"
+"</c:forEach>"
+"</select>"
+"</td>"
+"</tr>";
$("#applyTable").append(test);
} <tbody id="applyTable"></tbody>
おかげで唯一のオブジェクトに対して、そのIDと印刷
<option>
をチェックするために、あなたのテンプレートにif文を使用しprevId
という名前の変数に格納されます。私は試みましたが、うまくいかなかったのです。関数内に変数 "prevId"を定義し、$(row).find( ':selected').val()を代入しました。私はconsole.log(prevId)を使用して "prevId"の値をチェックし、正しい番号を返しました。しかし、ドロップダウンリストにはまだ変更はありません。 –3つ目のドロップダウンリストに、前の2つのドロップダウンリストで選択したオプションが含まれていない場合はどうすればよいですか? –
もしドロップダウン数が少ないのなら、 '&&' condition ' 10あなたはArraylistを必要とするかもしれません –
Viney