#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. Разве вы не пропускаете точку с запятой? (поэтому он обязательно анализирует каждый тест)