我有一个功能,其中有一些下拉菜单。
我有一些值,我必须检查这些值是否存在于下拉列表中。如果它们存在,我必须保留它们并从我的下拉列表中删除其他选项
这就是我一直在尝试做的
function getimage(value, ProdId) {
$.getJSON("/api/ProductDetails", { option: value, productid: ProdId }, function (data) {
$.each(data, function (idx, product) {
$('#defaultimage').empty();
$('<img id="dfltimage"/>').attr({ src: product.ImageURL }).appendTo('#defaultimage');
if (product.options.length > 0) {
$.each(product.options, function (idx, option) {
/*appending the each option to a label*/
$("" + "#" + option.OptionName + "").empty();
if (option.values.length > 0) {
/*Creating a select tag for the Retrieved options*/
//$("" + "#" + options.OptionName + "").empty();
$.each(option.values, function (idx, value) {
alert(value.OptionValue);
// $("" + "#" + option.OptionName + "").append('<option value="' + value.OptionValue + '">' + value.OptionValue + '</option>');
$("" + "#" + option.OptionName + "").children('option').hide();
// $("" + "#" + option.OptionName + "").children("option[text=" + value.OptionValue + "]").show();
$("" + "#" + option.OptionName + "option[value='" + value.OptionValue + "']").show();
});
}
})
}
});
});
}
在这种情况下,下拉列表最后是空的
这就是我根据给出的答案所做的更改
if (product.options.length > 0) {
$.each(product.options, function (idx, option) {
/*appending the each option to a label*/
$("" + "#" + option.OptionName + " option").attr('not_required', 'true');
if (option.values.length > 0) {
/*Creating a select tag for the Retrieved options*/
$.each(option.values, function (idx, value) {
alert(value.OptionValue);
$("" + "#" + option.OptionName + "option[value='" + this_value + "']").removeAttr('not_required');
$("" + "#" + option.OptionName + " option[not_required=true]").remove();
});
}
})
}
值不会被删除