第一个问题
我有一个下拉列表,充满了国家(从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);
}
问题是,当自动完成并选择一个其他国家时,该自动完成仍然存在,即使它不需要显示。
发布于 2011-02-02 00:02:12
请查看文档:(Doc)
$( ".selector" ).autocomplete({ disabled: true });
如果这个解决方案对你不起作用,你可能在其他地方遇到了问题。让你的代码更好一点,也许是某些东西导致了一些内部错误
变化
$('[id$=POSTCODETextBox]').html("");
至
$('[id$=POSTCODETextBox]').val("");
试着对postcodetextbox这样工作:
$('[id$=POSTCODETextBox]').autocomplete({
source: "somesource.aspx",
change: function(event, ui) {
$(this).autocomplete("destroy");
}
});
但这将禁止用户再次使用它...
您还可以禁用textbox。
$('[id$=POSTCODETextBox]').attr("disabled", "disabled");
发布于 2011-02-02 01:25:04
//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);
}
https://stackoverflow.com/questions/4864466
复制相似问题