#javascript #jquery
#javascript #jquery
Вопрос:
Я пытаюсь использовать jQuery, чтобы ограничить количество выбранных тегов опций в jQuery до 100. Что я делаю не так? Тег select выглядит следующим образом:
<выберите имя ="порядок"> <значение опции = "1" выбрано> Название заказа</option> ...
после того, как пользователь выберет один или несколько тегов опций… Все еще не уверен, как заставить обработчик событий работать.
var countSelectedOptionTags $("select[name='order']").change(функция() { $("select[name='order']").children('attr="selected"').each(функция() { countSelectedOptionTags ; }); если количество выбранных тегов optiontags > 100 { предупреждение ("Вы не можете выбрать более 100 тегов опций".); Возврат; }// Мне нужны теги опций, которые имеют атрибут selected
Комментарии:
1. Работает ли это в jquery-1.3.2.min.js ?
Ответ №1:
Попробуйте это:
$("select[name='order'] option:selected")
предоставит вам все выбранные параметры.
$("select[name='order'] option:selected:gt(99)");
будут предоставлены выбранные опции с индексом, превышающим 100
var countSelectedOptionTags = 0;
$("select[name='order']").change(function() {
var selectedOptions = $("select[name='order'] option:selected");
countSelectedOptionTags = selectedOptions.length;
if countSelectedOptionTags > 100
{
alert("You can not select more than 100 option tag.");
return;
}
.
.
.
});
Комментарии:
1. Да, это работает, но теперь мне нужно удалить все последние атрибуты, кроме 100. Блин
2. @Marc: Обновил сообщение, чтобы количество выбранных опций превышало 100. Пожалуйста, проверьте.
3. @Marc: Кроме того, с моей точки зрения, элемент select, содержащий более 100 элементов, не является удобным для пользователя компонентом.