我正在尝试通过使用另一个选择列表来过滤选择列表。问题是在过滤列表后,我无法重新加载列表。因此,如果用户意外在第一个列表上做出了错误的选择,则第二个列表上将不保留任何选项。您可以在下面看到我的代码。
$('#selectCftDialog').change(function() {
//alert('Handler for .select() called.');
var tempCftID;
tempCftID = $("#selectCftDialog").val();
//alert("The tempCraftID is: CftID-" + tempCraftID)
$('#selectSpDialog option').not('#CftID-' + tempCftID).remove();
});
最佳答案
您可以做的是在选择元素本身启动时将选项另存为data
。
$('#selectSpDialog').data('options', $('#selectSpDialog option')); // Set the jquery data `options` with the initial set of options.
$('#selectCftDialog').change(function () {
//alert('Handler for .select() called.');
var tempCftID;
tempCftID = $("#selectCftDialog").val();
//alert("The tempCraftID is: CftID-" + tempCraftID)
$('#selectSpDialog option').not('#CftID-' + tempCftID).remove(); // Ok you can remove now
});
function someEventCalledProabablyReset()
{
var select = $('#selectSpDialog');
select.html(select.data('options')); //Set back all the saved options.
}
Fiddle