2010-10-08 1 views
0

Я использую Jquery для создания динамических ссылок на основе пользовательского ввода. У меня есть набор элементов в моем АЯКС нагруженной DIV, который выглядит следующимПроблема JQuery с изменением атрибута элемента в Internet Explorer

<div class="mxcell"> 
<input type="text" size="40" class="input_name" value=""> 
<a href="#" target="_blank" class="dyn_link"> 
<img src="http://127.0.0.1/images/arrow_right.gif"> 
</a> 
</div> 

Сейчас в Jquery я пишу

$(function(){ 
$("#right").delegate(".input_name", "change", function(){ 
var dyn_link = $(this).val() 
$(this).parent().find("a").attr("href", "http://www.example.com/"+ dyn_link +".html"); 
}); 
}); 

Это прекрасно работает в Chrome/Firefox, но не в Internet Explorer.

Любые идеи?

Отладчик IE, указывающий на символ JQuery 69. 15. Не знал бы, чтобы исследовать его дальше.

UPDATE:

Я решил выше, используя focusOut() вместо изменения()

Но я все еще не уверен, есть ли лучшее решение

+0

Определить «не работает» –

+0

Ну, при изменении значения в inputfeld создается динамическая ссылка, такая как href = 'http://www.example.com/apples.html'. В IE это остается href = "#" –

ответ

0

http://jsfiddle.net/pNZTe/

Я бы keyup вместо focusOut, и я немного очистил ваш чейнджер href:

$("#right").delegate(".input_name", "keyup", function() { 
    var $this = $(this); 
    var dyn_link = $this.val(); 
    $this.next("a").attr("href","http://www.example.com/" + dyn_link + ".html"); 
}); 
Смежные вопросы