jQuery实时更改问题

时间:2010-04-03 16:22:57

标签: jquery

当我从列表中单击一个元素时,jQuery从clicked元素中获取类并将其写入输入字段。然后输入的值需要写入div#content而不做任何操作。

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');
    });
});

1 个答案:

答案 0 :(得分:3)

改变这个:

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

对此:

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

当值更改时会触发change事件,通常是在文本框blur上(单击其他位置)。但是,您可以在需要时使用.change().trigger('change')触发它,这就是上面的代码所做的。