jquery映射函数对表的用法



我有这个表:

    <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);

返回值如下所示:"内容:[对象],[对象]"

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

谢谢

.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/

最新更新