0

我有以下标记

<span id="add">

  <li style="float: left;margin-right: 10px;">
     <b class="bg">Nom</b><br />
     <input type="text" class="_input _input_text nom"/>
  </li>

  <li>
    <b class="bg">montant investi</b><br />
    <input type="text" class="_input _input_text montant"/>
    <a class="_button"
       onclick="$('#add').append(
          '<span>\
            <li style=\'float: left;margin-right: 10px;\'>\
              <b class=\'bg\'>Nom</b><br />\
              <input type=\'text\' class=\'_input _input_text nom\'/>\
            </li>\
            <li>\
              <b class=\'bg\'>montant investi</b><br />\
              <input type=\'text\' class=\'_input _input_text montant\'/>\
              <a class=\'_button\' style=\'float:right;margin-top:0;margin-left:5px\' \
                onclick=\'$(this).parent().parent().remove();\'>\
                <b>X</b>\
              </a>\
            </li>\
          </span>');"
       style="float: right;margin-top: 0px;margin-left: 5px;">
        Ajouter un associé
    </a>
  </li>

</span>

onclick 函数创建一个标记,其中包含两个<li>带有输入文本的标记。有两类输入:.nom、.montant。

当我尝试使用此功能收集它们时:

var _nom=[];

_nom.push($("#add input.nom[type=text]").val());

$.each(_nom, function(key, value) {
  alert(key + ': ' + value);
});

我只得到不是动态创建的两个输入的值。

4

1 回答 1

1

您需要改用它:

$("#add input.nom[type=text]")
.each(function(key, value) {
  alert(key + ': ' + $(value).val());
});

http://jsfiddle.net/4UhqL/

它给你错误的结果,因为 $("#add input.nom[type=text]")返回你的元素数组,而不是一个元素。

于 2013-01-03T17:12:46.480 回答