получить значения нескольких полей ввода внутри div каждого div с помощью $ (селектор) .each - PullRequest
1 голос
/ 23 февраля 2012

У меня есть список выбора с продуктами, по нажатию кнопки добавления вы сгенерируете информацию и отобразите ее в полях ввода, которые находятся внутри div, у которого есть идентификатор, каждый раз, когда вы добавляете продукт, добавляется новый div, регистрируя все продукты, я хочу получить информацию о полях ввода для каждого созданного div, вот код: Это тот, который делает div и входные данные

$(document).on('click', '#ap', function() {
    var desctext =  $('#descripcion option:selected').text();
    var descval = $('#descripcion option:selected').val();
    var html = 
        '<div class="productoaline">' +
        '<input type="text" class="id" name="descval" readonly="readonly" value="' + descval + '"/>' +
        '<input type="text" class="text" readonly="readonly" value="' + desctext + '"/>' +
        '<input type="text" class="text" name="cantidad" placeholder="CANTIDAD DESEADA" value=""/>' +
        '<input type="button" class="button remove" value="Quitar" />' +
        '<div>';
    $('#productosa').append(html);
});

Это тот, чтобы получить значения, которые у меня есть до сих пор

$(document).on('click', '#registrar', function(){
//var idp;
var cant;

// $('.productoaline').each(function(index){

$('.productoaline').each(function(index){
    //idp = $('name=["descval"]').val();
    cant = $('name=["cantidad"]').val();
    alert(index + ':' + cant);
 });

 // });

});

Мне нужны только те, которые имеют имена, как я могу получить только эти входные данные от каждого div. Что касается выбора четного индекса, то кажется, что мне нужен четный индекс. Спасибо за помощь! Я думал об использовании карты, но никогда не использовал ее, поэтому очень хотелось бы получить представление о ней

1 Ответ

6 голосов
/ 23 февраля 2012

Несколько вещей, на которые стоит обратить внимание ...

  • Вы должны использовать определенный id только один раз в документе, если вы используете его более одного раза, вы можетехотите использовать класс или попробуйте выполнить итерации id: «productoaline1», «productoaline2» и т. д. *
  • Внутри каждого цикла вы выбираете #cantidad, что, естественно, даст вам толькорезультат в третий раз.
  • Вы должны использовать console.log() вместо alert() для отображения отладочной информации.Это выведет информацию на консоль вашего браузера.Вы получаете доступ к консоли через что-то вроде Firefox Firefox или Инспектора Google Chrome.

Я не совсем уверен, что вы спрашиваете, но я думаю, что вы можете искать что-то вроде этого:

$('#productoaline > input').each( function( index ){
    console.log( index, $(this).val() );
});
...