2010-04-03 63 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