0

脚本

<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> 
}

我想用从第一个返回的值填充第二个下拉列表。我该怎么做?

谢谢。

4

1 回答 1

1

在 ajax 调用的成功回调中,构建option填充了返回值的标记,然后将其附加到select名为“sayac_no”的标记中。

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);
}

我想结果对象是具有两个属性的对象列表,名称和值。根据您的需要对其进行修改并改进它,因为这只是一个非常基本的版本。

于 2012-07-16T07:20:57.967 回答