当满足多个表单条件时,我正试图运行特定的代码行(目前仅列为警报消息,但稍后将被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/