Отображать метку и ее значение при изменении выпадающего значения

0

Я хочу отобразить метку и ее значение при изменении значения выпадающего списка. Например, если при изменении AddressType я хочу отобразить метку AddressLine1 и ее соответствующее значение.

Я могу отобразить часть <td></td> и ярлык также отображается. Но значение Address1 не отображается. Я попытался установить в ViewBag а затем использовать его в <td></td> но это не работает. Я также попытался установить значение displayFor id. но это тоже не работает.

Как я могу отобразить значение?

Код:

<td id="Address1Label">
    @Html.LabelFor(model => model.Address1)
</td>
<td id="Address">
    @this.ViewBag.AddressLine1
    @Html.DisplayFor(model => model.Address1,  new {@id = "Address1" })
</td>

$(document).ready(function () {
    $('#Address1Label').hide();
    $('#Address').hide();
});

$(function () {
    $('#AddressType').change(function (e) {

        // i call an Action and get the result as json

        if (data.HomeAddress != null) {
            $('#Address1Label').show();
            $('#Address').show();

            // $('#Address1').val(data.HomeAddress.Address1);
            $('#Address1').html(data.HomeAddress.Address1);
        });
Теги:
razor
asp.net-mvc-3

1 ответ

0
Лучший ответ

Насколько я знаю

@Html.DisplayFor<TModel, TValue>

по умолчанию игнорируйте свои атрибуты перегрузки html, что означает

<td> @Html.DisplayFor(model => model.Address1,  new {@id = "Address1" }) </td>

создавать только текст

<td> Address </td>

вместо того, что вы думаете

<td><xxx id="Address1"> Address </xxx></td>

Поэтому, если вы хотите изменить это значение, вы можете сделать

$('#Address').html(data.HomeAddress.Address1);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню