Как получить значения html скрытые, завернутые в div с помощью jquery? - PullRequest
3 голосов
/ 19 ноября 2011

Я очень плохо знаком с javascript и jquery, поэтому, пожалуйста, потерпите меня.

Вот мой код: http://jsfiddle.net/94MnY/1/

Я пытаюсь получить значения каждого скрытого поля внутри div.

Я пытался

$(document).ready(function() {
 $('input#btnDispHidden').click(function() {
   var totalHidden = 7;

   for(var i=0; i<totalHidden; i++) {
    alert($("#hiddenField hidden").html());
   }
 });
});

, но значение, которое я получаю, составляет null.

Я также хочу знать, как получить общее количество элементов HTML внутри div.В моем случае, как мне получить общее количество скрытых полей внутри div?Я присвоил значение totalHidden = 7, но что, если я не знаю общее количество скрытых полей.

Пожалуйста, помогите.Заранее спасибо.

Ответы [ 6 ]

6 голосов
/ 20 ноября 2011

$('#hiddenField hidden') пытается получить доступ к фактическому тегу <hidden>, который является потомком #hiddenField

Попробуйте вместо . То, что вы хотите использовать, это синтаксис селектора input[type=hidden]. Затем вы можете просмотреть каждое из полученных полей ввода, используя метод jQuery.each().

3 голосов
/ 20 ноября 2011

Чтобы придерживаться того, что у вас уже есть - но с небольшими изменениями:

DEMO

$(document).ready(function() {
        $('input#btnDispHidden').click(function() {
            var totalHidden = $('#hiddenField input[type=hidden]').length; // get number of inputs

            for(var i=0; i<totalHidden; i++) {
                alert($("#hiddenField input[type=hidden]").eq(i).val());
            }
        });
});
3 голосов
/ 20 ноября 2011

Здесь это.

По сути, вы ищете .each (). Я удалил несколько полей ввода, потому что очень много предупреждающих сообщений. Также добавлен в селектор скрытый тип, чтобы избежать получения вашего последнего поля ввода.

$(document).ready(function() {
        $('input#btnDispHidden').click(function() {
            $('input[type="hidden"]').each(function(i){
                alert($(this).attr('value'))        
            })
        });
});
3 голосов
/ 20 ноября 2011

Если вы хотите перебрать элементы <input> и alert каждое значение, попробуйте следующее:

$(document).ready(function() {
  $('input#btnDispHidden').click(function() {
    $('#hiddenField input').each(function() {
       alert(this.value);
    });
  }); 

});

http://jsfiddle.net/94MnY/8/

2 голосов
/ 20 ноября 2011

Попробуйте

$('#hiddenfield input[type=hidden]').each(function(){
   alert(this.val());
});
2 голосов
/ 20 ноября 2011

На самом деле вы можете просто создать массив этих скрытых элементов, используя запрос, проходя через них и оповещая их значения.

Я поставил jsfiddle, чтобы вы увидели

http://jsfiddle.net/94MnY/4/

$(document).ready(function() {
        $('input#btnDispHidden').click(function() {
                $("#hiddenField input[type='hidden']").each(function(i, e){
                    alert($(this).val());
                });
        });
});
...