有两个文本字段(具有自动完成功能):
<label for="name">Customer:</label>
<input type="text" name="customer" id="customer" value="" />
<input type="hidden" id="customer-id" />
<p id="customer-description"></p>
<label for="name">Store:</label>
<input type="text" name="store" id="store" value="" disabled="true" />
<input type="hidden" id="store-id" />
<p id="store-description"></p>
如您所见,我最初禁用了第二个文本字段。我想要的是当用户从客户文本框中选择项目时,应该启用商店文本框。 这是我尝试但它不启用商店字段:
$(function() {
$('#customer').autocomplete({
source: "./SearchCustomer.php?term="+document.getElementById("customer").value,
minLength: 0,
focus: function( event, ui ) {
$( "#customer" ).val( ui.item.label );
return false;
},
select: function (event, ui) {
$( "#customer" ).val( ui.item.label );
$( "#customer-id" ).val( ui.item.value );
return false;
}
})
.data( "ui-autocomplete" )._renderItem = function( ul, item ) {
return $( "<li>" ).append( "<a>" + item.label + "</a>" ).appendTo( ul );
};
$("#store").removeAttr("disabled").focus();
});
我们将不胜感激。
答案 0 :(得分:1)
试试这个
$(function() {
$('#customer').autocomplete({
source: "./SearchCustomer.php?term="+document.getElementById("customer").value,
minLength: 0,
focus: function( event, ui ) {
$( "#customer" ).val( ui.item.label );
return false;
},
select: function (event, ui) {
$( "#customer" ).val( ui.item.label );
$( "#customer-id" ).val( ui.item.value );
$("#store").removeAttr("disabled").focus();
return false;
}
})
.data( "ui-autocomplete" )._renderItem = function( ul, item ) {
return $( "<li>" ).append( "<a>" + item.label + "</a>" ).appendTo( ul );
};
});
答案 1 :(得分:1)
将$('#store').prop('disabled', false).focus();
添加到您的选择功能:
select: function(ev, ui) {
$( "#customer" ).val( ui.item.label );
$( "#customer-id" ).val( ui.item.value );
$( "#store" ).prop( 'disabled', false ).focus();
return false;
}
因此,当选择自动填充项目时,将#store
的禁用属性设置为false,并为元素提供焦点。