我有以下文本框和自动填充脚本,目前按预期工作:
HTML:
<div id="partNameCont">
<input type='text' name="part_name" id="part_name">
</div>
jQuery的:
var autocomp = jQuery.noConflict();
autocomp(document).ready(function() {
autocomp('#part_name').autocomplete({
source: "test.php",
select: function(e, ui) {
var tmp = ui.item.label;
ui.item.label = ui.item.value;
ui.item.value = tmp;
getPartCategory(ui.item.label);
},
open: function (e, ui) {
var acData = autocomp(this).data('ui-autocomplete');
acData.menu.element.find('li').each(function () {
var me = autocomp(this);
var keywords = acData.term.split(' ').join('|');
me.html(me.text().replace(new RegExp("(" + keywords + ")", "gi"), '<b><span style="color:#E7930D;">$1</span></b>'));
});
}
});
});
问题是我想在页面加载时将part_name
设置为disabled
。然后当用户为另一个选择框选择值时再次使其可用。
所以我在页面加载时有这个:
<div id="partNameCont">
<input name="" type="text" disabled="disabled">
</div>
但是,当用户选择所需的选择框并将partNameCont
更改回原始内容时,自动填充功能无效。
更新:这是我使用partNameCont
更新的功能 - 我更新了整个div
input
元素:
function getPartName(id) {
var autonew_id1 = jQuery.noConflict();
autonew_id1.ajax({
url: "getPartName.php",
data: "id="+id,
type: "POST",
dataType: "html",
success: function(data){
autonew_id1('#partNameCont').html('');
autonew_id1('#partNameCont').html(data);
}
});
}
我partNameCont
的新数据就是:
<input type="text" name="part_name" id="part_name" class="text-input ui-autocomplete-input" value="" autocomplete="off">
有什么建议应该对函数进行哪些修改以使其与动态更改的元素一起使用?