验证多个表单标准

时间:2015-10-01 18:52:10

标签: jquery forms

我正在尝试运行特定的代码行(当前仅列为警报消息,但稍后将替换为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>

2 个答案:

答案 0 :(得分:1)

&#34;#EMP&#34;不选择名称为&#34; emp&#34;。

的元素

&#34;#EMP&#34;选择id为&#34; emp&#34;

的第一个元素

为每个复选框指定一个唯一的ID,或者使用一个类。

然后更改您的功能以使用&#39;这个&#39;作为选择者。

类似的东西:

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

}

此外,请在选择列表选项中删除onclicks。使用onChange或onClick实际列表。

答案 1 :(得分:1)

每页只能有一个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/