我需要一起获取selectmenu的id和选定值。这有什么办法吗?我试过但我不能同时得到这两个。
$('#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>');
}
});
});
我可以使用
获取所选值的标题或ID$('.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')
有些人可以告诉我这里我做错了什么。?
答案 0 :(得分:0)
$('.required').each(function(){
if($(this).val()=='')
{
alert($(this).attr('title'));
}
});
答案 1 :(得分:0)
您需要将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
对象是下拉对象。
编辑: Working JSFiddle