2010-01-07 2 views
4

У меня есть страница, полученная на главной странице. На этой странице у меня есть скрытое поле («hfUser»). Как я могу получить доступ к этому элементу управления «hfUser» и получить/установить его значение с помощью JQuery? Я пробовал варианты этого:Доступ к скрытому полю с использованием JQuery

$(document).ready(function() { 
    var test = $("#hfUser").val(); 
    alert(test); 

}); 

но тест = неопределенные. Я предполагаю, что у меня есть селектор неправильно, но я не знаю, как получить asp скрытое поле. Есть идеи?

Благодаря

+1

Вы уверены, что 'hfUser' является' id', а не 'name'? если его имя тогда '$ ('input [name = hfUser]');' should gt ваше поле. – prodigitalson

+0

Привет, это был идентификатор, а не имя. – keyboardP

ответ

6

Если вы используете элементы управления ASP.Net, сервер будет искажать идентификаторы управления. Он добавляет кучу информации иерархической иерархии управления в идентификатор. Вам нужно указать, что именно этот acutal id получает визуализацию, который доступен с свойством ClientID в элементе управления (hfUser.ClientID) или доступ к вашему элементу управления другим, более обходным путем, например, найдите родительский элемент управления, затем выполните поиск через его детей, чтобы найти свой контроль.

Если вам не нужно использовать элемент управления asp.net HiddenField, попробуйте использовать обычный старый html-ввод.

0

Делают это так:

$(document).ready(function() 
{ 
    var test = $("**#<%= hfUser.ClientID %>**").val(); 
    alert(test); 
}); 
3

ASP действительно любит манипулировать идентификаторами. Чем дальше вниз по кроличьей лунке (или регуляторам вложенности) вы идете, тем больше ASP добавляет ваш идентификатор управления. Бросьте мастер-страницы, и это еще один уровень или два.

Другой способ доступа к элементам управления на стороне сервера (с набором свойств runat) - использовать квадратные скобки в селекторе jQuery.

Как это:

$("[id$='hidImgSource']").val() 

Это выбирает все элементы, ID имеет 'hidImgSource' как завершающая часть имени. Таким образом, он найдет искаженные идентификаторы.

Вот ссылка на jQuery Selectors page, которая объясняет еще несколько вариантов.

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