脚本
<script type="text/javascript">
$(document).ready(function () {
$('musteri_sno').change(function () {
$('form_sayac_secimi').submit(function () {
if ($(this).valid()) {
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
success: function (result) {
}
});
}
return false;
});
});
});
</script>
html
@using (Html.BeginForm("SayacSecimiPartial", "SayacOkumalari", FormMethod.Post, new { id = "form_sayac_secimi" }))
{
<table>
<tr>
<td>
@Html.DropDownList("musteri_sno", (SelectList)ViewBag.musteri_id, "--Müşteri Seçiniz--", new { id = "musteri_sno" })
</td>
<td>
@Html.DropDownList("sayac_no", Enumerable.Empty<SelectListItem>(), "-- Sayaç Seçiniz --", new { id = "sayac_no" })
</td>
<td>
<input type="submit" value="Uygula" />
@Html.Hidden("sno", new { sno = ViewData["sno"] })
</td>
</tr>
</table>
}
我想用第一个返回的值填充第二个下拉列表。我该怎么做?
感谢。
答案 0 :(得分:1)
在ajax调用的成功回调中,构建填充了返回值的option
标记,然后将其附加到名为“sayac_no”的select
标记中。
success: function(result) {
var opt = '';
for (var i = 0; i < result; i++) {
opt += '<option value="' + result[i].value + '">' + result[i].name + '</option>';
}
$('select[name=sayac_no]').html(opt);
}
我认为结果对象是具有两个属性name和value的对象列表。 根据您的需要对其进行修改并进行改进,因为这只是一个非常基本的版本。