jquery selectmenu idand选中的值

时间:2013-11-11 08:41:07

标签: jquery jquery-ui

我需要一起获取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')

的原因

有些人可以告诉我这里我做错了什么。?

2 个答案:

答案 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