我有这样的bean:
class StudentBean
{
...
private String gender = "Male";
...
// setters and getters here
}
Spring表单是这样的:
<!-- Gender -->
<form:form action="url" method="POST" modelAttribute="studentBean">
<form:radiobutton path="gender" id="male" value="Male" required="required" style="float:left;" checked="checked"/>
<form:radiobutton path="gender" id="female" value="Female" required="required" style="float:left;"/>
...
</form:form>
默认情况下,性别单选按钮设置为男性,我想使用jQuery更改它。
到目前为止我尝试的是:
$('.gender[value="'+ beanList[index].myGender +'"]').prop('checked', true);
它也与
相同 $('.gender[value="Female"]').prop('checked', true);
但不会更改单选按钮。我做错了什么?
答案 0 :(得分:0)
gender
不是类,但是你正在使用jQuery类选择器。
请改为尝试:
$("input[name='gender'][value='Female']").prop('checked', true);
答案 1 :(得分:0)
您选择性别类(。前缀为类)的内容,而性别是HTML中的ID。您可以更改选择器以定位ID性别
($('#gender[value="Female"]').prop('checked', true);)
或者您可以像这样在HTML中添加类:
<!-- Gender -->
<form:form action="url" method="POST" modelAttribute="studentBean">
<form:radiobutton path="gender" class="male" value="Male" required="required" style="float:left;" checked="checked"/>
<form:radiobutton path="gender" class="female" value="Female" required="required" style="float:left;"/>
...
</form:form>
正确的解决方案取决于元素在页面上显示的次数。多个元素可以具有相同的类,但页面上只有一个元素可以具有任何ID。如果您要拥有此表单的多个副本,因此需要多个性别单选按钮,则将ID更改为类。如果此表单只出现一次,那么ID就可以了。
答案 2 :(得分:0)
您使用的是什么版本的JQuery以及在什么浏览器中?仅供参考 - 您的问题似乎与JQuery完全隔离,并且已经向浏览器呈现了什么,因此您可能想要取消与弹簧相关的标签。
尝试进行如下更改: $( “输入[值= '女']”)丙( '检查',真);
<html>
<head>
<script src="jquery-1.9.1.js"></script>
</head>
<body>
<form>
<input type="radio" path="gender" id="Male" name="sex" value="Male" checked="checked" />Male
<br />
<input type="radio" path="gender" id="Female" name="sex" value="Female" />Female
<div id="test">my test</div>
</form>
<script>
alert("hello");
$("input[value='Female']").prop('checked',true);
alert("bye");
</script>
</body>
</html>