JQuery скрытое поле

Почему я не могу получить значение этого скрытого поля?

Я имею контроль...

<asp:HiddenField ID="HiddenFieldServerDateTime" runat="server" />

Который представляет как...

<input type="hidden" name="ctl00$cph_main$HiddenFieldServerDateTime" id="ctl00_cph_main_HiddenFieldServerDateTime" value="08/01/2010 10:54:11" 

Который я пытаюсь получить значение использования...

var serverDateTime = $("#HiddenFieldServerDateTime").attr('value');

Так что случилось?

Я предпочитаю это

var dateTime = $("[id$=_HiddenFieldServerDateTime]").val();
30
задан dckuehn 23 October 2013 в 14:52
поделиться

2 ответа

Потому что jQuery ничего не знает о asp:HiddenField. Он выглядит в структуре HTML, где у вас есть . Поэтому нет ввода с идентификатором ID=HiddenFieldServerDateTime. Есть несколько способов преодолеть это:

  • Использовать селектор css:

    
    

    со следующим селектором: var serverDateTime = $(".SomeStyle").val();

    CssClass не является доступным классом в классе HiddenField (и он не имеет Attributes collection, поэтому вы не можете добавить его вручную).

  • Используйте свойство ClientID:

    var serverDateTime = $("#<%= HiddenFieldServerDateTime.ClientID %>").val();
    
  • Оберните скрытое поле чем-нибудь, что можно выбрать:

     var serverDateTime = $('.date-time-wrap input[type=hidden]').val();
    
58
ответ дан 27 November 2019 в 23:06
поделиться

Добавьте атрибут класса ".myHiddenValue" к метке, затем используйте

var myVal = $(".myHiddenValue").val()

или так как это отобразится после загрузки документа, советую использовать этот

$(document).ready(function(){
   var myVal = $("input[name='ctl00$cph_main$HiddenFieldServerDateTime']").val();
 }
);

Note: also applies for the first example as well
1
ответ дан 27 November 2019 в 23:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: