Я создал очень простую форму с двумя выпадающими списками.
Каждый список содержит одинаковые записи:
<option value='1234:0'>Closed</option>
<option value='4567:2'>Open</option>
<option value='6857:1'>Dead</option>
<option value='9856:1'>Alive</option>
<option value='0000:0'>Other</option>
Если выбрана запись в раскрывающемся списке 1, эта запись должна быть удалена из раскрывающегося списка 2.
Если в раскрывающемся списке 1 выбрана другая запись, ее следует удалить из раскрывающегося списка 2, а исходную запись вернуть в раскрывающееся меню 2.
если ничего не выбрано в выпадающем списке 1, то все параметры должны быть показаны в выпадающем списке 2.
Я создал FIDDLE, показывая, как далеко у меня … это не очень далеко.
Может кто-нибудь помочь с этим ?
Спасибо
Попробуй это
$(function(){
$('#test').change(function () {
var selected = $(this).val();
$("#test2 option").show();
$("#test2 option[value='" + selected + "']").hide();
});
});
Если вы хотите использовать текст, вы можете попробовать это
$(function(){
$('#test').change(function () {
var selected = $('option:selected', this).text();
$("#test2 option").each(function(){
if($(this).text() == selected) {
$(this).hide();
} else {
$(this).show();
}
})
});
});
Поскольку значения каждой опции идентичны, вы можете использовать value
атрибут для выбора совпадения во втором выборе.
$('form').on('change', 'select[name="test"]', function() {
var selected = $(this).val();
$("#test2 option").show();
$("#test2 option[value='" + selected + "']").hide();
});