【问题标题】:How to instantly fill in a text box on change using JQuery?如何使用 JQuery 立即填写更改文本框?
【发布时间】:2015-03-26 23:10:27
【问题描述】:

我有一个填充城市的文本框。我有一个自动完成功能,它是标准的自动完成功能,数据来自数据库。

传入的数据有城市、州和国家信息。当用户从自动完成下拉菜单中选择城市时,它应该填充城市、州和国家。所以我对这个城市有一个onchange。问题是只有当我点击相应的文本框时才会填写州和国家/地区,而不是在更改时立即填写。 代码:

$(".find-city").autocomplete(cityConfirmAutoCompleteOption);
$(".find-city").autocomplete( "option", "appendTo", "#"+'button'+q.id );

$(".find-city").change(function(city) {
$(".state").val(statecode);
}); 

HTML:

<div class="find-city"  style="float: left;">
<table>             
<tbody><tr><td><label>City</label></td>
    <td><input type="text" class="find-city"></td></tr>
    </tbody></table>
</div> 

<div class="state"  style="float: left;">
<table>             
<tbody><tr><td><label>State</label></td>
    <td><input type="text" class="state"></td></tr>
    </tbody></table>

【问题讨论】:

  • 你能提供一些 HTML 和更多的 JavaScript 吗?
  • change 事件在您实际单击并更改下拉列表的值之前不会被触发。
  • @CanerAkdeniz 是的,所以即使我点击了城市选项,它也只会在我点击状态文本框时触发(状态被填充)。不应该是在我单击下拉菜单并进行选择之后吗?
  • 试图理解你的代码,你从哪里得到statecode
  • @CanerAkdeniz cityConfirmAutoCompleteOption 是我查询数据库的函数。数据库返回城市名称列表和相应的州代码。

标签: javascript jquery autocomplete


【解决方案1】:

没有看到任何 HTML 和大部分 JavaScript, 你能不能这样做:

$(".find-city").change(function(city) {
    $(".state").val(statecode);
    $(".city").val(citycode);
    //... etc.
}); 

【讨论】:

  • 我添加了 HTML。我试过这个。状态文本框确实会被填充,但只有在我点击状态文本框之后。
  • 查看我对您的问题的评论,要求提供更多信息。
【解决方案2】:

如果您在尝试设置输入框的值时遇到问题,请尝试以下操作:

$('.state').attr('value',stateCode);

你可以在这里看到类似的演示:http://jsfiddle.net/Lwhw4sj9/

【讨论】:

    猜你喜欢
    • 2023-01-13
    • 2014-05-12
    • 1970-01-01
    • 2018-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-03
    • 1970-01-01
    相关资源
    最近更新 更多