在模式引导程序表单中,我只需要在已填充的DropDownList中设置给定项,例如:
$("#MyDropDown").prop('selectedIndex', 1);
我尝试使用文档就绪事件:
<script type="text/javascript">
$(document).ready(function () {
$("#MyDropDown").prop('selectedIndex', 1);
});
</script>
但是它不起作用,我认为这是因为那以为我在说外部视图,而不是模态。我可以使用什么事件来准备Modal?
这就是我创建DropDownList的方式(它也使用JQuery填充)
<select id="MyDropDown" name="ddlMyDropDown" class="form-control"></select>
编辑:这是使用Ajax填充的方式:
function PopulateMyDropDown() {
var procemessage = "<option value='0'>Seleccionar...</option>";
$("#MyDropDown").html(procemessage).show();
var data = JSON.stringify({
idPedidoDisprofarma: idPedido
});
return $.ajax({
url: "/RecepcionDisprofarma/PedidosDisproNoRecibidos",
data: data,
cache: false,
contentType: 'application/json; charset=utf-8',
dataType: 'json',
type: 'POST',
success: function (data) {
var markup = "";
markup += "<option value='0'>Seleccionar..</option>";;
for (var x = 0; x < data.length; x++) {
markup += "<option value=" + data[x].Value + ">" + data[x].Text + "</option>";
}
$("#MyDropDown").html(markup).show();
},
error: function (reponse) {
alert("error : " + reponse);
}
});
}
答案 0 :(得分:2)
下拉列表是填充在服务器上还是ajax调用之后?
可能是您试图在任何值可用之前选择一个值,因为它仍在等待提供数据的响应。
您可以等到收到响应后,再从该数据集中选择第一个选项。
您可以参考以下示例: https://stackoverflow.com/a/16746700/2835914
您也可以尝试:
success: function (data) {
var markup = "";
markup += "<option value='0'>Seleccionar..</option>";;
for (var x = 0; x < data.length; x++) {
markup += "<option value='" + data[x].Value + "' " + x === 0 ? "selected" : "" + ">" + data[x].Text + "</option>";
}
$("#MyDropDown").html(markup).show();
},
答案 1 :(得分:0)
如果您使用了jQuery ajax,则应该这样做
$(document).on("click", 'button',
function() {
$(".modal-body").load(YOURURL, function() {
$("#MyDropDown").prop('selectedIndex', 1);
});
$("#myModal").modal();
});