-1
我有下面的代码。在弹出的jQuery对话框中有两个下拉列表。我使用jQuery来填充它们。问题是,当我单击编辑图标(在每个产品项目右侧)时,它可以在弹出的下拉列表中显示所选项目,但有时不会。使用萤火虫检查代码,它显示jQuery已经改变了代码,但是屏幕没有显示选择的项目。jQuery不刷新jQuery对话框上的下拉列表
function getProductById(ProductId) {
$.getJSON("GetProductById", { ProductId: ProductId }, function populateProduct(data) {
//Populate query result retreved from server into a Sub form for edit
$("#ProductName").val(data.ProductName);
$("#UnitPrice").val(data.UnitPrice);
$("#Discontinued").attr("checked", data.Discontinued);
$("#Supplier option:selected").removeAttr("selected");
$("#Supplier option[value=" + "\"" + data.Supplier + "\"" + "]").attr("selected", "selected");
$("#Categorie option:selected").removeAttr("selected");
$("#Categorie option[value=" + "\"" + data.Category + "\"" + "]").attr("selected", "selected");
});
};
可能是一些事情。首先,尝试使用'.prop('selected','selected')'而不是'.attr(“selected”,“selected”)' – Victor 2014-12-01 20:51:02
@Victor。非常感谢你的帮助!它现在有效!那么为什么我的代码不工作,但在改变为.prop('selected','selected')后工作? – 2014-12-01 20:58:51
这是没有必要的。如果data.Supplier包含的值与供应商下拉菜单中的一个选项值相匹配,那么您只需要使用$(“#Supplier').val(data.Supplier);'和同上'Category' – 2014-12-01 21:02:18