2015-10-01 37 views
0

当多个表单条件都满足时,我正在尝试运行特定的代码行(当前仅列为警报消息,但稍后将被替换为json请求) - 特别是任何单选按钮和一个特定的选择选项(每个选择选项将有不同的请求和非常独特的代码) - 不幸的是,我无法弄清楚我的生活如何得到这个工作 - 我试图做onclick事件来调用一个函数和运行肮脏看看语句,但这不起作用(即使它做到了,也可以诚实 - 它当然不符合任何标准)如何使这项工作?验证多个表单标准

<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> 
+0

是禁止被其他代码既然你已经harcoded事件处理程序的复选框不可见这里 –

回答

1

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

“#emp”选择与“EMP”

要么给每个复选框一个唯一的ID,或使用一类的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。

+0

删除,你能避免使用类/名/ IDS一起。只需使用这个选择器。 – Mark

+0

它需要能够触发是否更改选择选项或者单选按钮,这就是为什么我选择执行外部功能 –

+0

然后将onchange事件添加到选择列表。不是一个onclick。 – Mark

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/