【发布时间】:2018-02-07 06:57:18
【问题描述】:
正如您在上面的示例中,我有占位符(没有价值的选项)可以说,例如。 Select Subcategory 但是一旦我更改了我的类别值,子类别的结果就会显示出来。
我想要的是当我在子类别下拉列表中选择类别时仍然显示Select Subcategory,但在该类别下会加载所选类别的结果。简单来说:
不是直接显示结果,而是显示占位符选项和 结果在它下面。
这是我的代码:
// HTML
<label for="specification_id">specifications</label>
<select name="specification_id" class="form-control">
<option value="">Select Specification</option>
</select>
// JAVASCRIPT
<script type="text/javascript">
$(document).ready(function() {
$('select[name="subcategory_id"]').on('change', function() {
var subcategoryID = $(this).val();
if(subcategoryID) {
$.ajax({
url: '{{ url('getspecifications') }}/'+encodeURI(subcategoryID),
type: "GET",
dataType: "json",
success:function(data) {
$('select[name="specification_id"]').empty();
$.each(data, function(key, value) {
$('select[name="specification_id"]').append(
"<option class='form-control' value='"+ value['id'] +"'>"+ value['title'] +"</option>"
);
});
}
});
}else{
$('select[name="specification_id"]').empty();
}
});
});
</script>
【问题讨论】:
-
好吧,你在
select上调用empty(),这会清空select... -
@MikeMcCaughan 我打电话给
empty()只是为了在用户搜索另一个类别时重置结果,否则它将显示第一个和第二个选择的类别的结果。 -
好吧,当你清空它时,你会删除选项.....所以添加默认选项......
-
@epascarello 不确定我是否明白你的意思。
-
将选项添加到列表顶部....您删除所有内容,因此要么复制第一项,要么删除第一项之后的选项....
标签: javascript jquery html ajax