Передача значения jQuery в MVC 3 Razor view html helper - PullRequest
1 голос
/ 17 мая 2011

У меня есть следующая функция jQuery, встроенная в страницу MVC Razor:

<script type="text/javascript">
    $(document).ready(function () {
        $("input[name=MultiListsetting]").change(function () {
            var valueString = "";
            $("input[name=MultiListsetting]:checked").each(
            function () {
                valueString += this.id + ","
            }
            );
            var MultiValueListResult = valueString.slice(0, -1);
            alert(MultiValueListResult);
        });
    });
</script>

Это выводит строку, основанную на атрибуте id ряда флажков. Когда значение флажка изменяется, строка перестраивается. Таким образом, с 3 флажками, все отмеченные, функция будет выводить: «checkboxID1, checkboxID2, checkboxID3», пока не будет изменено. Так наш сервер БД хранит значения для этого набора флажков. Теперь мне нужно передать строку, которую эта функция выводит, в скрытый HTML-элемент на той же странице Razor.

@Html.Hidden("SetViewModel[" + i + "].Value", [string output here])

Позволит ли jQuery этот шаг? Могу ли я как-нибудь взять «MultiValueListResult» и добавить его в скрытый элемент управления? Я все еще исследую.

1 Ответ

1 голос
/ 17 мая 2011

Вы смешиваете время выполнения в шаблоне метинк;Ваше скрытое HTML-поле будет на странице задолго до выполнения jQuery.Что вам нужно сделать, это просто сделать ваше скрытое поле:

@Html.HiddenFor(x => x.MyPropertyName);

А затем в вашем обратном вызове просто обновите его значение:

$('#myElement').change(function()
{
    $('#MyPropertName').val(MultiValueListResult); 
});

Когда форма будет отправлена ​​обратно, значениевашего выбранного набора будет содержаться в скрытом значении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...