我正在修改注册表单,并且希望使用jQuery来简化表单。将下拉列表值传递给Grails中的jquery
该网站的用户可以是Teachers
,Donors
或两者。 Teachers
有Donors
不需要的字段,反之亦然。因此,我没有在所有领域填写表格并通过询问他们的教学等级来混淆国际用户,而是实施了一个下拉列表,以便用户可以选择他们的角色,并通过append()
方法查看唯一的必填字段。
这是迄今为止我已经建立了形式:
<g:formRemote name="register" url="[controller:'user', action:'register']" onSuccess="showFields()">
<dl>
<dt>User name</dt>
<dd><g:textField name="username" value ="${user?.username }"/></dd>
<dt>Password</dt>
<dd><g:passwordField name="password" value = "${user?.password }"/></dd>
<dt>Repeat Password</dt>
<dd><g:passwordField name="passwordRepeat" value = "${user?.passwordRepeat }" /></dd>
<dt>Account Type</dt>
<dd>
<g:select name="role" from="${['Teacher', 'Donor', 'Both'] }"/>
</dd>
</dl>
<input type="submit" value="Register" />
</g:formRemote>
和脚本是
<script type="text/javascript">
$('#role').change(function(){
var user = $('#role option:selected').text();
alert(user);
if (user == 'Teacher'){
} else if (user == 'Donor'){
} else {
}
});
</script>
用Firebug,我已经验证了选择列表中的ID role
,但该功能不会触发。事实上,无论我做什么选择,它都完全被忽视。
这是怎么发生的?
是$(document).ready内的脚本? – 2012-04-16 20:36:59
@SimonEdström,你的建议是解决方案。如果您将其作为答案提交,我会接受它。 – Jason 2012-04-16 20:55:17
谢谢,我发布了一个答案。这可能是基本的你,但我试图解释,所以其他人可以理解发生了什么...... – 2012-04-16 21:47:10