Доступ к скрытому полю с помощью Jquery - PullRequest
4 голосов
/ 08 января 2010

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

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

});

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

Спасибо

Ответы [ 4 ]

6 голосов
/ 08 января 2010

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

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

3 голосов
/ 05 марта 2012

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

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

Как это:

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

Это выбирает любые элементы, чей ID имеет «hidImgSource» в качестве конечной части имени. Так что он найдет искаженные идентификаторы.

Вот ссылка на страницу jQuery Selectors , которая объясняет некоторые дополнительные параметры.

2 голосов
/ 08 января 2010

Если скрытое поле является элементом управления ASP.NET, ознакомьтесь с этим сообщением в блоге, чтобы помочь вам с селекторами jQuery для элементов управления ASP.NET

http://www.foliotek.com/devblog/extending-jquery-to-select-asp-controls/

0 голосов
/ 16 ноября 2011

Сделай так:

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