登録フォームを改良しています。フォームを簡略化するために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>
ですが、私が選択リストにid role
を持っていることを確認しましたが、この機能は起動していません。実際には、私はどのような選択をしても、それは完全に無視されます。
どうしてですか?
スクリプトは$(document).readyですか? –
@SimonEdström、あなたの提案は解決策でした。あなたが答えとしてそれを提出すれば、私はそれを受け入れるでしょう。 – Jason
ありがとう、私は答えを投稿しました。それはあなたのための基本かもしれないが、私は他人が起こっていることを理解できるように説明しようとした... –