0

验证是否在下拉列表中选择了选项的正确方法是什么?我有一些选择元素(字段集)被设置为不显示,而其他元素是可见的。我只想验证那些可见的,否则表单将不会提交。

例如:

<fieldset id="a1_1">
  <select name="a1_1">
     <option value="" selected="selected">Select Age</option>
     <option value="1">1</option>
     <option value="2">2</option>
  </select>
</fieldset>

<fieldset id="a1_2" style=" display: none;">
  <select name="a1_2">
     <option value="" selected="selected">Select Age</option>
     <option value="1">1</option>
     <option value="2">2</option>
  </select>
</fieldset>

<fieldset id="a2_1">
  <select name="a2_1">
     <option value="" selected="selected">Select Age</option>
     <option value="1">1</option>
     <option value="2">2</option>
  </select>
</fieldset>

<fieldset id="a2_2" style=" display: none;">
  <select name="a2_2">
     <option value="" selected="selected">Select Age</option>
     <option value="1">1</option>
     <option value="2">2</option>
  </select>
</fieldset>

我在没有任何运气的情况下尝试这样的事情:

var x = document.forms["x"]["a1_1"].value;
    if (x == null || x == "")
    {
        alert("Age must be selected");
        return false;
    }
4

4 回答 4

0

在你的情况下,我会改为:

x = $('select[name="a1_1"]').val();//get the value in jquery

if(x!=1 || x!= 2 || !x)

有用的链接

于 2013-10-20T05:56:47.530 回答
0

使用 jquery 您可以尝试以下操作:

if ($("select[name=a1_1]").val().length <= 0)
{
    alert("Age must be selected");
    return false;
}

并将其用于其他人,这将解决您的问题。

于 2013-10-20T05:57:54.587 回答
0

我会做这样的事情:

<fieldset id="a1_1">
  <select name="a1_1" errorMessage="Age must be selected">
     <option value="0" selected="selected">Select Age</option>
     <option value="1">1</option>
     <option value="2">2</option>
  </select>
</fieldset>

//Catch submit form event
$('form').submit(function(){
    //Go through all select elements of the form
    $(this).find('select').each(function(){
        //Validate the selected value
        if($(this).val() === "0")
        {
            //Display the defined error message if needed
            var msg = $(this).attr('errorMessage');
            alert(msg);
            //And return false to invalidate the form submission
            return false;
        }
    });
});
于 2013-10-20T06:12:47.993 回答
-1

它不起作用,因为您有两个 id/name 为的元素a1_1,请尝试为字段集提供不同的 id

于 2013-10-20T05:56:31.203 回答