使用 Jquery 从 HTML 数组中获取值

Posted

技术标签:

【中文标题】使用 Jquery 从 HTML 数组中获取值【英文标题】:Get values from a HTML array with Jquery 【发布时间】: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 【参考方案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(); ??

以上是关于使用 Jquery 从 HTML 数组中获取值的主要内容,如果未能解决你的问题,请参考以下文章

jQuery如何获取多个input输入框的值,并存放在一个数组中

NuxtJs 从 jquery 更改的输入中获取值

jQuery:使用预定义的数组键从输入数组中获取值

jQuery中.attr和.data的区别分析

JQ——DOM操作(获取值)

html/css/js-如何利用jq来更改属性的值和获取属性的值