У меня есть список выбора, который заполняется с использованием значений из текстового поля. У меня также есть две кнопки: кнопка добавления, которая добавляет введенное значение в список выбора, и кнопка удаления, которая удаляет введенное значение из списка выбора. Я хотел бы сделать следующее с помощью jQuery:
- Если значение, введенное в текстовое поле, равно НЕ ДОСТУПНО в списке выбора, показать кнопку добавления и скрыть кнопку удаления.
- Если значение, введенное в текстовое поле, равно ДОСТУПНО в списке выбора, скрыть кнопку добавления и показать кнопку удаления.
- Если выбран список ПУСТО показать кнопку добавления и скрыть кнопку удаления.
Вот код, который я придумал:
// Remove selected options
$('#removeButton').click(function() {
//$.map($('#addedchargeamtid :selected'), function(e) {
$.map($('#addedchargeamtid option'), function(e) {
var exp = $(e).text();
// Would like to have all the Option values in CVS format 0.00,1.99, etc...
// If removed this should also remove the value in the array
})
$('#removeButton').hide();
return !$('#addedchargeamtid :selected').remove();
});
// Add charge amount
$('#addedchargeamtid option:selected').focus(function() {
$('#removeButton').show();
});
Показывает кнопку удаления, когда я добавляю первое значение, но если я удаляю значение, кнопка не отображается снова.
UPDATE:
Хорошо, я отредактировал это.
$('#removeButton').click(function() {
$('#addedchargeamtid :selected').remove();
$.map($('#addedchargeamtid option'), function(e) {
var exp = $(e).text();
alert(exp); // Need this in CSV format but I think it displays the correct values
})
//if($("#addedchargeamtid option").length > 0) { <-- Didn't work
if($("#addedchargeamtid").length > 0) {
$('#removeButton').show();
} else {
$('#removeButton').hide();
}
});
все еще не скрывает кнопку, когда в SELECT нет значения. Пробовал и с опцией.