Мне нужно получить идентификатор и выбранное значение selectmenu вместе. Есть ли способ для этого? Я попытался, но я не могу получить эти два одновременно.
$('#form1').submit(function () {
$('.required').filter(':visible').each(function () {
var input = $(this).val();
if (!input) {
$(".ui-selectmenu").addClass( "required" );
var msg = input.attr('title');
alert(msg); --- This will alert empty.
alert(input.attr('id'));
$(".ui-selectmenu").after('<ul class="error"><li>'+$msg+'</li></ul>');
}
});
});
Я могу получить заголовок или идентификатор выбранного значения, используя
$('.required')find(":selected").each(function(){
var input = $(this).val();
alert($(this).attr('title')); ---- This will alert the title.
});
HTML
<select id="test" name="test" class="required class1" title="Please select to continue.">
Selectmenu
$('select.class1:not(select.class2)').selectmenu({
style:'dropdown',
maxHeight: 300,
transferClasses: true
});
Но мне нужно перебирать все выпадающие списки и проверять, пуст ли, если ошибка отображения пустой ошибки. Вот почему используется $('.required').filter(':visible')
Может ли какой-нибудь орган рассказать мне, что я делаю неправильно здесь?
Вам нужно указать свою input
переменную как раскрывающийся объект вместо значения выпадающего списка.
Попробуйте следующее:
$('#form1').submit(function () {
$('.required').filter(':visible').each(function () {
var input = $(this);
var inputValue = $(this).find('option:selected').val();
if (!inputValue) {
$(this).addClass('required');
var msg = input.attr('title');
alert(msg);
alert(input.attr('id'));
$(this).after('<ul class="error"><li>'+ msg +'</li></ul>');
}
});
});
Теперь он проверяет на input.val()
и ваш input
объект является выпадающим объектом.
EDIT: Working JSFiddle
$('.required').each(function(){
if($(this).val()=='')
{
alert($(this).attr('title'));
}
});
title
означает? Вы можете показать свой html
?