验证是否满足多个表单标准



当满足多个表单条件时,我正试图运行特定的代码行(目前仅列为警报消息,但稍后将被json请求取代(-特别是任何单选按钮和一个特定的选择选项(每个选择选项都有不同的请求和非常独特的代码(-不幸的是,我无法计算我知道如何实现这一点-我曾尝试过只执行onclick事件来调用一个函数,并运行看起来很脏的if语句,但这不起作用(老实说,即使它起了作用-它肯定不符合任何标准(我该如何实现?

<input type='radio' name='emp' onclick='changeselected()' value='1'>
<input type='radio' name='emp' onclick='changeselected()' value='2'>
<input type='radio' name='emp' onclick='changeselected()' value='3'>
<select id='umodt' name='umodt' disabled>
      <option value=' '></option>
      <option onclick='changeselected()' value='View'>View Employee</option>
      <option onclick='changeselected()' value='Add'>Add Report</option>
</select>

            <script type="text/javascript">
function changeselected(){
if($('#emp').is(':checked')) {
    if ($("#umodt").val() == "View") {
        alert("view selected");
    }
    if ($("#umodt").val() == "Add") {
        alert("add selected");
    }
}
}
</script>

"#emp"不选择名称为"emp"的元素。

"#emp"选择id为"emp"的第一个元素

给每个复选框一个唯一的id,或者使用一个类。

然后将函数更改为使用"this"作为选择器。

类似于:

function changeselected(){
if($(this).is(':checked')) {
    if ($("#umodt").val() == "View") {
        alert("view selected");
    }
    if ($("#umodt").val() == "Add") {
        alert("add selected");
    }
}
}

此外,在选择列表选项上放弃onclicks。在实际列表上使用onChange或onClick。

每个页面上只能有一个ID元素。您应该创建一个引用每个单选按钮的变量,然后使用each方法对它们进行迭代。然后可以使用prop方法来设置selected属性。

function changeselected(){
    var radio = $("input[type=radio]");
    radio.each(function() {
        if($(this).is(':checked')) {
            var value = $(this).prop("value");
            $("option[value=" + value + "]").prop("selected", "selected");
        }
    });
}

http://jsfiddle.net/kwz0ufq9/1/

相关内容

最新更新