0

我需要在表单提交时获取选择菜单的选定值。

  $('#submitbutton').click(function(){
var returnValue = true;
$('#form1 .required').filter(':visible').each(function () {
inputVal = $(".dd-default option:selected").val();
alert(inputVal); -- displaying null
var input = $(this);
alert(input.val()); -- displaying null
if (!input.val()) {
   returnValue = false;
}

});
});

这里 $(this).val() 显示空值。但是当我在选择菜单的 chnage 上编写相同的函数时,它会显示选定的值。

$('#form1 .required').change(function () {
var input = $(this);
input.next('ul.innererrormessages').remove();
input.removeClass('required');
alert(input.val());-- displays the value
if (!input.val()) {
    alert("error");
}
});

任何想法,为什么它在提交表单时不显示选定的值?谢谢

4

2 回答 2

0

您必须在用户切换值后使用更改。此代码应在您获得值之前运行。

$('.selectList').change(function() {
  alert($(this).val());
});

将 .selectList 替换为您的选择列表框的类名。

于 2013-11-14T10:18:29.243 回答
0

该解决方案解决了上述问题。

$('select').each(function() {
                    var objName = $(this).attr('name');
                    if ($("select[name=" + objName + "]").css('display').indexOf("none") != -1) {
                        alert($("select[name=" + objName + "] option:selected").val());
                    }

                });
于 2013-11-14T14:48:31.793 回答