繁体   English   中英

jQuery自动完成功能关闭

[英]jQuery autocomplete turn off

第一个问题

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

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

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

码:

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

问题是,自动完成完成后,选择了该自动完成仍然存在的其他国家,即使它不必出现也是如此。

请查看文档:( 文档)

$( ".selector" ).autocomplete({ disabled: true });

如果此解决方案不适合您,则您可能还会遇到其他问题。 使您的代码更好一点,也许是引起一些内部错误的原因

更改

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

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

尝试为postcodetextbox像这样工作:

$('[id$=POSTCODETextBox]').autocomplete({
      source: "somesource.aspx",
      change: function(event, ui) {
           $(this).autocomplete("destroy");
      }
});

但这将使用户无法再次使用它...

您也可以禁用文本框。

$('[id$=POSTCODETextBox]').attr("disabled", "disabled");
    //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);
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM