У меня есть 2 варианта ввода. Я хочу, чтобы параметры на втором зависели от того, что выбрано на первом.
ПРИМЕР
Выберите 1 - список контента:
Выберите 2 - список содержимого:
Если я выбираю choice 1
из первого:
Если я выберу choice 2
из первого:
Очевидно, что оба входа ввода находятся на одной странице!
Я думаю, что я должен использовать jQuery, но я не знаю, как это сделать.
Правильно ли, что вам нужно что-то подобное?
HTML:
<div class="row">
<div class="span4 offset4">
<form class="control-group" action="" method="post">
<!-- DROPDOWN 1 - CHOICE SELECTION -->
<div class="form-group">
<select name="document_type" class="form-control input-lg" id="Select1">
<option value="casea">CHOICE 1</option>
<option value="caseb">CHOICE 2</option>
<option value="casec">CHOICE 3</option>
<option value="cased">CHOICE 4</option>
<option value="casee">CHOICE 5</option>
</select>
</div>
<!-- DROPDOWN 2 - LIST SELECTION-->
<div class="form-group">
<select name="document_type" class="form-control input-lg" id="Select2">
<option value="casea">CASE A</option>
<option value="caseb">CASE B</option>
<option value="casec">CASE C</option>
<option value="cased">CASE D</option>
<option value="casee">CASE E</option>
</select>
</div>
</form>
</div>
</div>
и сценарий что-то вроде этого?
$(document).ready(function () {
$.DDCache = {
init: function (DropDown) {
this.cache = new Object(DropDown.clone());
},
FilterDropDown: function (DropDown, value, condition) {
DropDown.empty();
DropDown.append(this.cache.children().clone().toArray());
DropDown.children("[" + value + "!='" + condition + "']").remove();
}
}
//init the cache for the select you want to filter
$.DDCache.init($("#Select2"));
$("#Select1").change(function () {
$.DDCache.FilterDropDown($("#Select2"), "value", $("#Select1").val());
});
});
просто создал jsfiddle для вас :)
У меня просто был код, похожий на код, но не уверен, что это может вам помочь.
$ (document).ready(function() {
$.DDCache = {
init: function (DropDown) {
this.cache = new Object(DropDown.clone());
},
FilterDropDown: function (DropDown, value, condition) {
DropDown.empty();
DropDown.append(this.cache.children().clone().toArray());
DropDown.children("[" + value + "='" + condition + "']").remove();
}
}
//init the cache for the select you want to filter
$.DDCache.init($("#Select2"));
$("#Select1").change(function () {
$.DDCache.FilterDropDown($("#Select2"), "value", $("#Select1").val());
});
});
С уважением
:)