请参见此处的示例。单击[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);
任何帮助将不胜感激!