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

最初のドロップダウンから返された値を 2 番目のドロップダウンに入力したいのですが、どうすればよいですか?

ありがとう。

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

結果のオブジェクトは、nameとvalueの2つのプロパティを持つオブジェクトのリストだと思います。これは非常に基本的なバージョンであるため、必要に応じて変更し、改善してください。

于 2012-07-16T07:20:57.967 に答える