选定的自动完成值未显示在输入框中
Selected autocomplete value not displaying in input box
我正在使用 jquery ui 自动完成并且显示了值但是当我 select 列表中的一个值时它没有显示在输入框中..我使用 console.log for select : function , selected 值显示在控制台但不在输入框内,
我附上了问题的截图,
这里我有 selected 24,它显示在控制台中但没有进入输入框(即附有批号标签的框)..
脚本是,
<script>
$(function() {
var lot_selection = {!! $lot_selection !!};
$("#lot_number").autocomplete({
autoFocus: true,
source: lot_selection,
minLength: 0,
select: function (event, ui) {
$('#lot_number').val(ui.item.lot_number);
console.log($('#lot_number'), ui.item.lot_number);
}
})
.focus(function () {
$(this).autocomplete("search", "");
})
.data("uiAutocomplete")._renderItem = function (ul, item) {
return $("<li>")
.append("<a>" + item.lot_number + "</a>")
.appendTo(ul);
};
});
</script>
而 laravel lot_number 输入表单代码是,
<div class="col-md-2 hidden-print">
<div class="input-group">
{!! Form::input('text', 'lot_number', null, array('id' => 'lot_number', 'class' => 'input-lg form-control TabOnEnter', 'placeholder' => 'lot_number','autofocus', 'tabindex' => 1)) !!}
<span class="input-group-addon">Lot Number</span>
</div>
</div>
select: function (event, ui) {
event.preventDefault();
$('#lot_number').val(ui.item.lot_number);
console.log($('#lot_number'), ui.item.lot_number);
}
像上面那样更改您的 select 函数
<script>
$(function() {
var lot_selection = {!! $lot_selection !!};
$("#lot_number").autocomplete({
autoFocus: true,
source: lot_selection,
minLength: 0,
select: function (event, ui) {
$('#lot_number').val(ui.item.lot_number);
console.log($('#lot_number'), ui.item.lot_number);
}
focus: function(event, ui) {
event.preventDefault();
$("#lot_number").val(ui.item.lot_number);
}
})
.focus(function () {
$(this).autocomplete("search", "");
})
.data("uiAutocomplete")._renderItem = function (ul, item) {
return $("<li>")
.append("<a>" + item.lot_number + "</a>")
.appendTo(ul);
};
});
</script>
试试这个代码,它会有所帮助...
我正在使用 jquery ui 自动完成并且显示了值但是当我 select 列表中的一个值时它没有显示在输入框中..我使用 console.log for select : function , selected 值显示在控制台但不在输入框内,
我附上了问题的截图,
这里我有 selected 24,它显示在控制台中但没有进入输入框(即附有批号标签的框)..
脚本是,
<script>
$(function() {
var lot_selection = {!! $lot_selection !!};
$("#lot_number").autocomplete({
autoFocus: true,
source: lot_selection,
minLength: 0,
select: function (event, ui) {
$('#lot_number').val(ui.item.lot_number);
console.log($('#lot_number'), ui.item.lot_number);
}
})
.focus(function () {
$(this).autocomplete("search", "");
})
.data("uiAutocomplete")._renderItem = function (ul, item) {
return $("<li>")
.append("<a>" + item.lot_number + "</a>")
.appendTo(ul);
};
});
</script>
而 laravel lot_number 输入表单代码是,
<div class="col-md-2 hidden-print">
<div class="input-group">
{!! Form::input('text', 'lot_number', null, array('id' => 'lot_number', 'class' => 'input-lg form-control TabOnEnter', 'placeholder' => 'lot_number','autofocus', 'tabindex' => 1)) !!}
<span class="input-group-addon">Lot Number</span>
</div>
</div>
select: function (event, ui) {
event.preventDefault();
$('#lot_number').val(ui.item.lot_number);
console.log($('#lot_number'), ui.item.lot_number);
}
像上面那样更改您的 select 函数
<script>
$(function() {
var lot_selection = {!! $lot_selection !!};
$("#lot_number").autocomplete({
autoFocus: true,
source: lot_selection,
minLength: 0,
select: function (event, ui) {
$('#lot_number').val(ui.item.lot_number);
console.log($('#lot_number'), ui.item.lot_number);
}
focus: function(event, ui) {
event.preventDefault();
$("#lot_number").val(ui.item.lot_number);
}
})
.focus(function () {
$(this).autocomplete("search", "");
})
.data("uiAutocomplete")._renderItem = function (ul, item) {
return $("<li>")
.append("<a>" + item.lot_number + "</a>")
.appendTo(ul);
};
});
</script>
试试这个代码,它会有所帮助...