【问题标题】:get selected value from selectmenu on form submit从表单提交的选择菜单中获取选定的值
【发布时间】:2013-11-14 10:14:19
【问题描述】:

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

  $('#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");
}
});

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

【问题讨论】:

  • 你验证过这个$(".dd-default")是否可以获取对象
  • 嗨 Mahesh..我没听懂你想说什么..
  • 在你提到的第一种方法中你得到了 null。我问你是否得到了对象。
  • 你的意思是尝试 alert($('.dd-default')) ?
  • 是的,您可以尝试 alert id property alert($('.dd-default').attr('id')) 或放置调试点检查对象属性。

标签: jquery jquery-ui


【解决方案1】:

此解决方案已解决上述问题。

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

                });

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

    • 嗨 Jayanth..我不想使用 id's..我正在尝试基于类的验证,因为有很多下拉列表需要在提交表单时进行验证..
    • 嗨 Jayanth..我的代码适用于更改功能。在更改时,该值会得到正确的警报。但是当用户提交表单时,该值显示为null..所以任何想法,为什么在提交时值变为null?
    • 确保更改功能实现后触发提交事件。
    • 是的,更改是在提交功能之前
    • 或尝试嵌套调用,运行更改,最后在该函数中,尝试提交表单。
    猜你喜欢
    • 1970-01-01
    • 2014-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-27
    • 2013-11-23
    • 2017-03-23
    • 2013-09-01
    相关资源
    最近更新 更多