繁体   English   中英

表单提交验证动态下拉列表

[英]Form Submit Validating Dynamic # of Dropdowns

我有一个显示带有下拉菜单的动态行数的表单。 每个下拉列表的ID为“ ReasonCd#”,并且末尾的数字从0开始递增-相应地增加行号。 每个下拉列表都有一个默认选择“选择数字”,其值为NULL。

我想在表单中添加提交验证。 如何提醒用户是否有动态下拉列表中的默认选项被选中?

 <select id='ReasonCd" . $counter . "'> <option disabled='disabled' selected='selected' value=''>Select Number</option> <option>blah</option> </select> 

我试图创建自己的jQuery,但不幸的是我无法使它正常工作。

(单击我的提交按钮时)

 $("#submitButton").click(function() { $('[id^=ReasonCd]').filter(function(){ if($(this).text() == "Select Number"){ alert('Please Select a Number!!!'); } }); 

});

检查选择的选项:

    $("#submitButton").click(function(e) {
        $('[id^=ReasonCd] option:selected').filter(function(){
        if($(this).text() == "Select Number"){
            alert('Please Select a Number!!!');
            e.preventDefault(); //cancel postback
            return false; //exit of .filter

        }
       });
    });

要么:

$('form').submit(function(e) {
    $('[id^=ReasonCd] option:selected').each(function(){
    if($(this).text() == "Select Number"){
        alert('Please Select a Number!!!');
        e.preventDefault();
        return false;
    }
});
});

有多个下拉菜单

现场演示更新

这是完整的工作演示

您需要遍历每个下拉列表中所有ID为^=ReasonCd选项,并在找到的第一个无效(selectedopts.eq(i).text() == 'Select Number')返回false。

注意:返回范围必须是提交功能

$("#submitButton").click(function()
{
    selectedopts = $('[id^=ReasonCd] option:selected');
    for(i=0;i<selectedopts.length;i++)
    {
        if(selectedopts.eq(i).text() == 'Select Number')
        {
            alert('Please Select a Number!!!');
            return false;
        }
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM