ここで例を参照してください。社長のヘッダーをクリックすると、ドロップダウンから選択され[Email Me]
た連絡先フォームが開くはずWebmaster
ですが、それは起こっていません。
些細なことであることはわかっていますが、そのようにはなっていません。get
中身email()
は問題なく機能していますが、 を選択するoption
と、コードが失敗します。関連するすべてのコードを以下に示します。
私のHTML:
<form method="get">
<select name="to" id="to-field">
<option name="President" value="President">President</option>
<option name="Webmaster" value="Webmaster">Webmaster</option>
</select>
</form>
私のJS/jQuery:
function email(to){
$(document).ready(function() {
$.get('/inc/email.php',
function(data){
$('#email-form').html(data);
$('#email-form form').submit( function(){
var d = $('#email-form form').serialize();
$.ajax({
type: 'GET',
url: '/inc/email.php?submit=true&'+d,
success: function(data) {
$('#email-form').html(data);
}
});
return false;
});
}
);
});
if(to !== undefined){
$('select#to-field').val(to);
console.log( 'item selected -> ' + $('select#to-field').val() );
}
}
これは以下によってトリガーされています。
<span onclick="javascript:email('Webmaster');">[Email Me]</span>
そしてconsole.log()
戻ってきます:
item selected -> undefined
これを使用して選択した設定も試しました:
$("select#to-field[value=" + to + "]").attr("selected","selected");
そして、これも良い尺度です:
$("select#to-field[value=" + to + "]").attr("selected",true);
どんな助けでも大歓迎です!