動的なドロップダウンメニューのリストで、値が「-完売-」のオプションを無効にする必要があります。 jQueryでこれを簡単に行うにはどうすればよいですか?以下はHTMLです
<select id="field_0_1" class="text_select" name="field_0_1" onChange="">
<option value="">- Preferred Time -</option>
<option value="- Sold Out -">- Sold Out -</option>
<option value="2:30 - 4:00pm">2:30 - 4:00pm</option>
</select>
<select id="field_0_2" class="text_select" name="field_0_2" onChange="">
<option value="">- Preferred Time -</option>
<option value="- Sold Out -">- Sold Out -</option>
<option value="2:30 - 4:00pm">2:30 - 4:00pm</option>
</select>
<select id="field_0_3" class="text_select" name="field_0_3" onChange="">
<option value="">- Preferred Time -</option>
<option value="- Sold Out -">- Sold Out -</option>
<option value="2:30 - 4:00pm">2:30 - 4:00pm</option>
</select>
$("select option[value*='Sold Out']").prop('disabled',true);
$('#previous_select').on('change', function() {
// after creating the option
// try following
$("select option[value*='Sold Out']").prop('disabled',true);
});
作業デモhttp://jsfiddle.net/BYkVW/orhttp://jsfiddle.net/BYkVW/1/
それがニーズに役立つことを願って:)
コード
$("#field_0_1 option[value='- Sold Out -']").attr('disabled','disabled');
または
$("#field_0_1 option[value='- Sold Out -']").prop('disabled','disabled');
作業イメージ
function lockDownDropDownList(ddlName) {
ddlName = "#" + ddlName;
var chosenValue = $(ddlName).val();
var downDownListItems = $(ddlName).children('option').map(function (i, e) {
return e.value || e.innerText;
}).get();
downDownListItems.forEach(function (item) {
if (item != chosenValue)
{
$("select option[value*='" + item + "']").prop('disabled', true);
}
});
}
値の代わりにテキストでドロップダウンリストを無効にしたい場合は、次のようにします。
$("#DDL option").filter(function () {
return $(this).text() === "Text 1" ||
$(this).text() === "Text 2" ||
$(this).text() === "Text 3";
}).prop("disabled", true);
ここで私は上記のクエリの解決策を実行しました。以下のデモリンク:
デモ:http://codebins.com/bin/4ldqp92
HTML:
<select id="field_0_1" class="text_select" name="field_0_1" onChange="">
<option value="">
- Preferred Time -
</option>
<option value="- Sold Out -">
- Sold Out -
</option>
<option value="2:30 - 4:00pm">
2:30 - 4:00pm
</option>
</select>
<select id="field_0_2" class="text_select" name="field_0_2" onChange="">
<option value="">
- Preferred Time -
</option>
<option value="- Sold Out -">
- Sold Out -
</option>
<option value="2:30 - 4:00pm">
2:30 - 4:00pm
</option>
</select>
<select id="field_0_3" class="text_select" name="field_0_3" onChange="">
<option value="">
- Preferred Time -
</option>
<option value="- Sold Out -">
- Sold Out -
</option>
<option value="2:30 - 4:00pm">
2:30 - 4:00pm
</option>
</select>
JQuery:
$(function() {
$("select").click(function() {
$(this).find("option[value*='Sold Out']").prop("disabled", true);
});
});
$("#ddlList option[value='jquery']").attr("disabled","disabled");