这是我的声明:
$(document).ready(function() {
$('#search_option').change(function() {
alert('changed');
if( $('#search_option').val() == "wiki" ) {
$('#search_form').setAttribute('action', "http://www.wikipedia.org/search-redirect.php");
$('#search_bar').setAttribute('name', "search");
alert('Got inside wiki');
} else {
$('#search_form').setAttribute('action', "http://www.google.com/search");
$('#search_bar').setAttribute('name', "q");
alert('Got inside google');
}
});
});
“进入”警报都没有触发,这意味着它们都没有运行,对吗?我似乎无法弄清楚为什么 if 语句的任何部分都没有运行,至少应该有一个
最佳答案
.setAttribute()
不是有效的 jQuery 方法。使用 .attr()
。
$(document).ready(function() {
$('#search_option').change(function() {
alert('changed');
if( $('#search_option').val() == "wiki" ) {
$('#search_form').attr('action', "http://www.wikipedia.org/search-redirect.php");
$('#search_bar').attr('name', "search");
alert('Got inside wiki');
} else {
$('#search_form').attr('action', "http://www.google.com/search");
$('#search_bar').attr('name', "q");
alert('Got inside google');
}
});
});
关于javascript - if 和 else 都没有触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11554896/