У меня на моем сайте 3 выпадающих меню, и у каждого выпадающего списка есть 8 вариантов (от 1 до 8). Моя цель - отключить параметры выпадающего меню на основе того, что вы уже выбрали в других выпадающих списках, общая сумма - максимум 8. Так, например, если вы выберете 4 в первом выпадающем меню, вы можете выбрать только 1 - 4 в другом 2 выпадающих меню.jQuery отключить другие выпадающие значения на основе выбранного значения другого выпадающего списка
Если вы выберете 8, вы не сможете выбрать что-либо еще из других.
Это то, что я пробовал:
$(".options select").change(function() {
var value1 = $("#input_1_5").val();
var value2 = $("#input_1_6").val();
var value3 = $("#input_1_7").val();
var sum = parseInt(value1) + parseInt(value2) + parseInt(value3);
var rest = 9-sum;
$("#input_1_6 > option").slice(rest,9).each(function() {
$(this).attr("disabled", true);
});
var rest2 = rest - 9
$("#input_1_7 > option").slice(rest2,9).each(function() {
$(this).attr("disabled", true);
});
});
Проблема с этим состоит в том, что он работает только в первый раз, вы выбираете что-то, к сожалению.
EDIT: jsfiddle обновление https://jsfiddle.net/k7krx87L/4/
Заранее спасибо!
Просьба предоставить PLUNKR проделанной работы до настоящего времени. –
@SatejS вот jsfiddle https://jsfiddle.net/k7krx87L/1/ –
Это должно помочь http://stackoverflow.com/questions/2155909/how-can-i-disable-an-option-in-a- select-based-on-its-value-in-javascript –