いくつかのドロップダウンがある関数があります。
値がドロップダウンに存在するかどうかを確認する必要がある値がいくつかあります。それらが存在する場合は、それらを保持し、ドロップダウンから他のオプションを削除する必要があります
これは私がやろうとしてきたことです
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();
});
}
})
}
値は削除されません