更改并重新初始化自动完成功能

时间:2017-12-17 18:27:28

标签: javascript jquery jquery-ui autocomplete

我正在使用jQuery Autocomplete 我有一些代码。 我尝试通过选择修改“源”自动完成,但是当我更改源自动完成时不起作用。我尝试使用.change,.on,.click重新初始化但仍然无法正常工作。 当我使用非修改源时,自动完成工作正常。

$('#myselect').change(function() {
  $('#part_q').prop("disabled", false).focus();
  var brand = $('#myselect').val();
  $('#part_q').autocomplete({
    source: 'https://example.com/search/?' + brand
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<select id="myselect">
     <option value="" selected="selected" disabled="">Select Brand</option>
     <option value="1">Some brand</option>
     <option value="2">Some brand 2</option>
     <option value="3">Some brand 3</option>
</select>
<input disabled="" placeholder="Model Name" type="text" id="part_q" name="part_q">

1 个答案:

答案 0 :(得分:1)

以下是一个简单的代码段,展示了如何实现自动完成刷新功能,请使用此代码并告知我是否有任何问题为您的用例实现它!

&#13;
&#13;
var arr = [[1,1],[2,2],[3,3][4,4]];
$('#myselect').change(function() {
  $('#part_q').prop("disabled", false).focus();
  var brand = $('#myselect').val();
  $('#part_q').autocomplete("option", { source: arr[brand] });
});

$("#part_q").autocomplete({
  source: []
});
&#13;
<link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<select id="myselect">
		<option value="" selected="selected" disabled="">Select Brand</option>
            <option value="0">Some brand</option>
            <option value="1">Some brand 2</option>
            <option value="2">Some brand 3</option>
            <option value="4">Some brand 4</option>
    </select>
<input disabled="" placeholder="Model Name" type="text" id="part_q" name="part_q">
&#13;
&#13;
&#13;