0

selectmenu の ID と選択された値を一緒に取得する必要があります。これには何か方法はありますか?試してみましたが、これら2つを同時に取得することはできません。

$('#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.">

セレクトメニュー

$('select.class1:not(select.class2)').selectmenu({
style:'dropdown',
maxHeight: 300,
transferClasses: true
});

しかし、すべてのドロップダウンを繰り返して空かどうかを確認する必要があります。空の場合は表示エラーがスローされます。それが使用する理由です$('.required').filter(':visible')

ここで私が間違っていることを教えてください。

4

2 に答える 2

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

于 2013-11-11T09:24:51.703 に答える
0
$('.required').each(function(){
if($(this).val()=='')
 {             
         alert($(this).attr('title'));
 }
});
于 2013-11-11T08:49:45.513 に答える