JQuery итерации через динамический сложный объект представить в asp.net действие MVC - PullRequest
0 голосов
/ 09 июля 2010

Я пытаюсь перебрать привязку сложного типа в jQuery, чтобы передать представление Json через параметр действия IEnumerable.

Html

<input type="hidden" value="0" name="value.index" />
<input type="text" value="textone" name="value[0].InputValue" id="value[0].InputValue" />
<input type="hidden" value="0" name="value[0].Id" id="value[0].Id" />

JQuery

var value = $('#value[0].InputValue').val()

Возвращаемое значение не определено; однако, если у меня есть элемент управления с идентификатором в формате «myId», я могу получить доступ к значению этого элемента управления.

Я что-то упустил? Или это невозможно?

Ответы [ 3 ]

3 голосов
/ 09 июля 2010

# используется для нахождения элемента по Id. Если вы хотите найти элемент по имени, он имеет другой синтаксис ... Попробуйте это

$("input[name=value\[0\].InputValue]");
1 голос
/ 09 июля 2010

Я не думаю, что [] разрешено в идентификаторах. MVC заменяет их подчеркиванием, когда я отображаю текстовое поле с именем Obj[0].Property

Я бы попробовал получить ввод по имени:

РЕДАКТИРОВАТЬ - снять скобки:)

$('input[name=value\[0\].InputValue]').val()

Вы также можете использовать различные селекторы атрибутов:

http://api.jquery.com/category/selectors/

Надеюсь, что поможет!

0 голосов
/ 09 июля 2010

Эта проблема возникает из-за того, что символы [и] означают особые вещи в селекторе jQuery, а именно они определяют требования к атрибутам. поэтому, когда вы говорите

$('#value[0].InputValue')

, что означает элемент jQuery "с идентификатором" value " и присутствующим атрибутом" 0 " и с примененным классом css InputValue .

Как предлагали другие, вместо этого используйте $ ('input [name = value [0] .InputValue') `.

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