【问题标题】:Usage of jquery map function for table使用jquery map函数对表
【发布时间】:2012-11-13 14:54:01
【问题描述】:

我有这张桌子:

    <table id="tblNyttUtstyr">
        <thead>
            <tr>
                <th data-field="UtlevertUtstyrID">UtstyrsID</th>
                <th data-field="UtstyrNavn">Navn</th>
                <th data-field="Utlevert">Utlevert</th>
                <th data-field="Comment">Kommentar</th>
            </tr>
        </thead>
<tbody>
<tr>
   <td>1</td>
   <td>Motorola defy+</td>
   <td>true</td>
</tr>
<tr>
   <td>3</td>
   <td>Samsung SII</td>
   <td>true</td>
</tr>
</tbody>
</table>

然后我有这个脚本

var test = $("#tblNyttUtstyr tbody tr").map(function () {
            var $row = $(this);

            return {
                UtlevertUtstyrID: $row.find(":nth-child(1)").text(),
                Comment: $row.find(":nth-child(2)").text()
            };
        }).get();

        $("#console").text("content: " + test);

返回值是这样的:“content: [object],[object]”

任何人都知道如何获取值,文本而不是对象

谢谢

【问题讨论】:

  • 你想做什么?你为什么用map()
  • .map() returns a jQuery object。这正是应该发生的事情。 $.map() returns an array,但两者都不会返回字符串。
  • 首先,您的选择器是#tblNyttUtstyr tbody tr,但tbody 中没有任何内容...
  • Sorry.. 正文中有内​​容,我将添加该代码。身体是使用 jQuery 动态构建的
  • 我想使用 jQuery 获取一个带有表格内容的字符串/json ..

标签: javascript jquery asp.net-mvc map


【解决方案1】:

.map 返回一个 jQuery 对象。

你需要使用回调。

    function setConsole(obj) {
        $("#console").text("content: " + obj.Comment);
    }

    var test = $("#tblNyttUtstyr tbody tr").map(function () {
        var $row = $(this);

        setConsole( {
            UtlevertUtstyrID: $row.find(":nth-child(1)").text(),
            Comment: $row.find(":nth-child(2)").text()
        } );

    }).get();

更新:将setConsole 函数更改为:

function setConsole(obj) {
    var c = $("#console");
    c.text(c.text() + "content: " + obj.Comment);
}

否则每个新对象都会被覆盖。

在这里查看我的演示:http://jsfiddle.net/maniator/FrURX/

【讨论】:

  • 查看我在帖子中添加的新代码, 的内容。现在我至少得到了一些文本,但我只在我的控制台中得到这个:在我上面的例子中是“内容:三星 SII”。它只返回最后一行
  • 为了清楚一点,我将使用 ajax 发布表格的所有内容,我在谷歌上的搜索告诉我这种方式是最好的方式。所以我的计划是在发布数据时包含这个 json 字符串。
  • 感谢您花时间解释甚至创建示例!
猜你喜欢
相关资源
最近更新 更多
热门标签