这是我的声明:

$(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/

10-12 07:13