我遇到了一个奇怪的问题,我想在使用自动完成功能后禁用文本框,我通过隐藏正确的框并显示新的框并将值设置为相同的值来完成此操作。
隐藏的第一个文本框包含正确的数据,但第二个文本框仅显示在单击自动完成之前输入的数字,这是迄今为止我的代码:
用 jsfiddle 来表达我的意思,输入 26 然后点击数字。
http://jsfiddle.net/7wys1rtk/1/
html:
<form>
Type Order Number:<br />
<input style='display:none;' class="jqueryShow" type='text' disabled/><input id='emailorderIDopen' class="jqueryHide" type='text' name="order" /><br />
<button id="sendemail" type="submit" class="btn btn-primary" disabled>Send Default Email</button>
</form>
jquery:
$(function() {
var availableTags = ["26438"];
//SET AUTO COMPLETE AND ACTIVATE SEARCH ON CLICK
$( "#emailorderIDopen" ).autocomplete({
source: availableTags,
select: function(event, ui)
{
$("#orderIDopen").val(ui.item.value);
$('#sendemail').removeAttr('disabled');
$(".jqueryHide").hide();
$(".jqueryShow").val($(".jqueryHide").val());
$(".jqueryShow").show();
}
});
});
最佳答案
您可以将完整的项目值 ui.item.value
传递到 .jqueryShow
元素中,而不是 $(".jqueryHide ").val()
,因为它只包含您输入的文本。
$(".jqueryShow").val(ui.item.value);
fiddle 叉:
编辑: 问题摘要:http://jsfiddle.net/dmfuryra/1/
关于javascript - jQuery 使用自动完成功能填充另一个文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27838440/