2015-01-21 2 views
0
@Html.EditorFor(model => model.Price) 
<label id="BulkItem[' + i + ']_UnitPrice" for="BulkItem[' + i + '].UnitPrice"> 

    $('#Price').change(function() { 
     $('#BulkItem[' + i-1 + ']_UnitPrice').val($(this).val()); 
    }); 

Вот код, приведенный выше. Мне нужно установить значение для каждой ярлыки, динамически добавленной. Я использовал jQuery для установки значения, но это не работает. Пожалуйста, помогите ... любая ошибка?Asp.net MVC4 JQuery, изменяющее значение метки из текстового поля

+1

Это просто не может работать. model.Price - это одно значение, а не массив, и вы не можете использовать скобки в идентификаторах HTML-элементов. Вы можете использовать символы подчеркивания, если хотите, однако они не нужны. Что именно вы пытаетесь выполнить? –

+0

Причина использования скобки заключается в генерации различного идентификатора для каждой метки. Это все еще hv 3 поле необходимо сохранить в списке и сохранить в Модели. –

+1

Я думаю, что очень сложно понять вашу проблему с этим небольшим фрагментом кода. Что такое '' ', где вы установили эту переменную. Есть петля. Каков ваш html-код? Ваша проблема связана с установкой текста меток с jQuery или с проблемой, что ваше событие ('.change') не срабатывает? – Martin

ответ

0

Возможно, это поможет вам. Html-Markup не поддерживает [] как значения. Лучше использовать .text() вместо .val() на ярлыках для редактирования текста.

<label id="BulkItem' + i + '_UnitPrice" for="BulkItem' + i + '.UnitPrice"> 
$('#Price').change(function() { 
    var priceValue = $(this).val(); 
    // why (i-1)? 
    $('#BulkItem' + (i-1) + '_UnitPrice').text(priceValue); 
}); 

Просто еще один пост, описывающий текст-изменения на этикетках: Other question

+0

(i-1) -> потому что ярлык динамически добавлен, а не жесткий код –

+0

@FirionRedfield: Это было ясно, но если ваш индекс начинается с 0, результат равен -1, и нет элемента с индексом, меньшим 0 – Martin

+0

Не работает ... –

Смежные вопросы