jquery изменение атрибута href привязочной ссылки

#jquery

#jquery

Вопрос:

У меня есть ссылка, атрибут href которой должен быть изменен на основе выбранного параметра переключателя. Вот ссылка на код

Я вижу, что атрибут href изменяется с помощью firebug, но при нажатии на него он не переходит к новой ссылке. В чем здесь может быть проблема?

HTML-код:

 <a id="urlTest" title="Checkout" href="yahoo.com">Checkout</a>

<p><input type="radio" value="www.apple.com" name="url">Change to apple</p>

<p><input type="radio" value="www.google.com" name="url">Change to google</p>
 

JavaScript

 $(document).ready(function(){
    $('input[name=url]').bind('click', function () {
        $("#urlTest").attr("href",$(this).val());
    }
});
 

Ответ №1:

 $(document).ready(function(){ 
    $('input[name=url]').click(function () { 
        $("#urlTest").attr("href",$(this).val()); 
    });
}); 
 

Вам не хватало завершающей круглой скобки.

Также используйте полные доменные имена с http.

Вы также можете использовать сокращенную версию: .click(function () {}) вместо .bind('click', function () {}) .

Ответ №2:

Ваш JavaScript недействителен; у вас отсутствует закрывающая скобка в конце списка bind параметров. Подобные ошибки видны в консоли (в том числе в jsfiddle).

Доменные имена также должны быть полными.

Ответ №3:

Попробуйте это:

 $('input[name=url]').click(function(){
    $("#urlTest").attr("href",$(this).val());
})
 

Это работает для меня.

Комментарии:

1. Разве вы не пропускаете точку с запятой? (поэтому он обязательно анализирует каждый тест)