2010-04-03 65 views
3

當我點擊列表中的一個元素時,jQuery從被單擊的元素中獲取類並將其寫入輸入字段。然後,來自輸入的值需要用div#內容寫入,而不需要任何操作。jQuery動態變化問題

HTML:

<ul> 
    <li class="NewYork">New York</li> 
    <li class="Paris">Paris</li> 
    <li class="Moscow">Moscow</li> 
</ul> 

<input type="text" id="city" value="" /> 

<div id="content"></div> 

的jQuery:

$(document).ready(function() { 
    $('ul li').live('click', function() { 
     var select_value = $(this).attr('class'); 
     $('input#city').val(select_value); 
     return false; 
    }); 

    $('input#city').live('change', function() { 
     var content = $(this).val(); 
     $('#content').text(content+' is beautiful city'); 
    }); 
}); 

回答

3

更改此:

$('input#city').val(select_value); 

要這樣:

$('input#city').val(select_value).change(); 

當值改變時,change事件被觸發,通常在文本框blur(點擊其他地方)。但是,您可以在需要時使用.change().trigger('change')來觸發它,這就是上述代碼的作用。

+0

它的工作原理!謝謝尼克:) – Milos 2010-04-03 16:32:14

+0

@Milos - 歡迎光臨!如果答案解決了您的問題,請確保接受它,並在左側選中標記,以便將問題關閉:) – 2010-04-03 16:33:50