【问题标题】:Get values from a HTML array with Jquery使用 Jquery 从 HTML 数组中获取值
【发布时间】:2015-08-17 05:47:23
【问题描述】:

我的目标是从 HTML 数组中的特定行获取值并将它们放入表单中,如下所示:

$("#tableID tr").click(function()
{
    var mh = $(this).closest("tr");
    document.getElementById("Catégorie").value= mh.find("td:first").text();
}

上面的这个完美地工作:我得到了一行的第一个值,并用它填充了适当的表单。 我怎样才能对行的其他值做同样的事情?我已经尝试了几种带有几个关键字的方法,但我肯定做错了......提前谢谢。

【问题讨论】:

  • 检索到的值在哪里填写?
  • 使用 mh.find("td:eq(0)").text(),mh.find("td:eq(1)").text(); 等等直到最后 td 。索引开始表单0

标签: jquery html arrays


【解决方案1】:

使用下面的代码 each()

 mh.find("td").each(function(index){
    // index will return index of td
   // $(this).text()  return text of each td
   if(index == 0){
     $("#Catégorie").val($(this).text());
   }
 });

或者您可以使用:eq() 选择器来选择基于索引的 td 文本

$("#Catégorie").val(mh.find("td:eq(0)").text());
$("#othervalue").val(mh.find("td:eq(1)").text());

【讨论】:

    【解决方案2】:

    您可以使用map() 遍历当前行的所有tds 并在其中获取text。使用 get 将返回您的数组,但分配给 Catégorie.value 您需要一个字符串。要从数组中获取字符串,您可以使用join(),如给定的示例代码所示。

    document.getElementById("Catégorie").value= mh.find("td").map(function(){
        return $(this).text();
    }).get().join('');
    

    如果您想分隔td 的这些值,您可以将该字符传递给join,而不是逗号','

    【讨论】:

      【解决方案3】:

      试试这个:

      $("#tableID tr").click(function()
      {
          var mh = $(this).closest("tr");
            mh.find('td').each(function(){
            document.getElementById("Catégorie").value= this.text();
          }
      }
      

      使用 each() 函数可以循环选择元素

      【讨论】:

      • 什么是thi.text(); ??
      猜你喜欢
      • 1970-01-01
      • 2013-05-24
      • 2015-10-31
      • 1970-01-01
      • 1970-01-01
      • 2012-04-09
      • 1970-01-01
      • 1970-01-01
      • 2015-10-23
      相关资源
      最近更新 更多