首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery自动完成关闭

jQuery自动完成关闭
EN

Stack Overflow用户
提问于 2011-02-01 23:31:34
回答 2查看 5.8K关注 0票数 2

第一个问题

我有一个下拉列表,充满了国家(从xml文件)。

选择国家/地区时,可以使用文本框的自动完成功能。此自动完成功能包含所选国家/地区的邮政编码。

现在,我想在dropdownlist.change事件之后立即将自动完成设置为关闭,以防止一个国家的自动完成(以邮政编码填充)也适用于另一个国家。但是如何关闭它呢?

代码:

代码语言:javascript
运行
复制
//when changing country, other postcodes will load
        $('[id$=landenDropDown]').change(function () {

            //autocompletes removal
            ...

            $('[id$=POSTCODETextBox]').html("");

            var LandCode = $('[id$=landenDropDown]').attr("value");

            //autocomplete with postal codes for Belgium
            if (LandCode == "BE") {
                //autocomplete postcode from selected country
                $('[id$=POSTCODETextBox]').autocomplete("PostcodeBE.aspx");

            }
             //autocomplete with postal codes for Holland
            else if (LandCode == "NL") {
                //autocomplete postcode from selected country
                $('[id$=POSTCODETextBox]').autocomplete("thingXml.aspx");

            }

            else {
                //test
                getal += 1;
                alert(getal);
            }

问题是,当自动完成并选择一个其他国家时,该自动完成仍然存在,即使它不需要显示。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-02 00:02:12

请查看文档:(Doc)

代码语言:javascript
运行
复制
$( ".selector" ).autocomplete({ disabled: true });

如果这个解决方案对你不起作用,你可能在其他地方遇到了问题。让你的代码更好一点,也许是某些东西导致了一些内部错误

变化

代码语言:javascript
运行
复制
$('[id$=POSTCODETextBox]').html("");

代码语言:javascript
运行
复制
$('[id$=POSTCODETextBox]').val("");

试着对postcodetextbox这样工作:

代码语言:javascript
运行
复制
$('[id$=POSTCODETextBox]').autocomplete({
      source: "somesource.aspx",
      change: function(event, ui) {
           $(this).autocomplete("destroy");
      }
});

但这将禁止用户再次使用它...

您还可以禁用textbox。

代码语言:javascript
运行
复制
$('[id$=POSTCODETextBox]').attr("disabled", "disabled");
票数 6
EN

Stack Overflow用户

发布于 2011-02-02 01:25:04

代码语言:javascript
运行
复制
    //when changing country, other postcodes will load
    $('[id$=landenDropDown]').bind($.browser.msie ? 'propertychange' : 'change', function () {

        //autocompletes removal
        ...

        var LandCode = $('[id$=landenDropDown]').attr("value");

        $('[id$=POSTCODETextBox]').autocomplete('destroy');

        //autocomplete with postal codes for Belgium
        if (LandCode == "BE") {
            //autocomplete postcode from selected country
            $('[id$=POSTCODETextBox]').autocomplete("PostcodeBE.aspx");

        }
         //autocomplete with postal codes for Holland
        else if (LandCode == "NL") {
            //autocomplete postcode from selected country
            $('[id$=POSTCODETextBox]').autocomplete("thingXml.aspx");

        }

        else {
            //test
            getal += 1;
            alert(getal);
        }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4864466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档