您好我有两个ComboBox。子组合框根据父组合框中选择的内容更改下拉列表值。
这是Parent ComboBox:
如果我们点击测试,我们会看到:
如果我们选择了Building,那么我们决定将产品类型更改为Battery Cooling,我们遇到了一个问题:
即使显然不在要选择的项目列表中,它仍将保持建筑选择:
我希望能够将值更改回空白字符,就像第一次加载时一样(如示例2中所示)
这是我的JavaScript:
<script type="text/javascript">
$(document).ready(function () {
document.getElementById("hiddenFieldsProcess").style.display = "none";
document.getElementById("hiddenFieldsSubProcess").style.display = "none";
$("#Products").combobox();
$("#Process").combobox();
$("#SubProcess").combobox();
});
$('#Products').on("combochange", function () {
var selectedProduct = $(this).val();
if (selectedProduct >= 0) {
document.getElementById("hiddenFieldsProcess").style.display = "block";
document.getElementById("hiddenFieldsSubProcess").style.display = "none";
$.getJSON('@Url.Action("Process")', { product: selectedProduct }, function (products) {
var processSelect = $('#Process');
processSelect.empty();
processSelect.append($('<option/>', {
value: 0,
text: ""
}));
$.each(products, function (index, process) {
processSelect.append($('<option/>', {
value: process.value,
text: process.text
}));
});
});
}
else {
document.getElementById("hiddenFieldsProcess").style.display = "none";
document.getElementById("hiddenFieldsSubProcess").style.display = "none";
var monthsSelect = $('#Process');
monthsSelect.empty();
monthsSelect.append($('<option/>', {
value: 0,
text: ""
}));
}
});
答案 0 :(得分:1)
我修改了这一部分,对我有用。 将“ id”添加到为自动完成功能创建的元素中后,就可以像常规元素一样对其进行控制。
.attr(“ id”,$(this.element.get(0))。attr('id')+'-combobox')
this.input = $( "<input>" )
.appendTo( this.wrapper )
.val( value )
.attr( "title", "" )
.attr( "id",$(this.element.get(0)).attr('id') +'-combobox' )
.addClass( "custom-combobox-input ui-widget ui-widget-content ui-state-default ui-corner-left" )