【问题标题】:Retrieving a value from innerHTML or textContent using JQuery map function使用 JQuery 映射函数从 innerHTML 或 textContent 检索值
【发布时间】:2017-05-17 18:28:27
【问题描述】:

使用我在this 问题中找到的信息,我已经能够检索我的驱动程序信息,并将其与 rowIndex 结合将其放置在正确的单元格中。

reservations.rows[whichRow].cells[7].innerHTML = which_driver;
reservations.rows[whichRow].cells[7].textContent = which_driver;

我都试过了,数据显示正确。

现在使用我在另一个问题中找到的信息(我找不到它)我一直在使用这个函数来检索值,因为我循环遍历选定的行(复选框)

    <script type="text/javascript">
$(function()
{
    $('#submitButton').click(function(){
        var values = $("#main_table table input[name=name]:checked").map(function() {
                row = $(this).closest("tr");
                return { 
                         recordid    : $(row).find('input[name=record_id]').val(),
                         firstname   : $(row).find('input[name=firstname]').val(),
                         lastname    : $(row).find('input[name=lastname]').val(),
                         timeneeded  : $(row).find('input[name=timeneeded]').val(),
                         dateneeded  : $(row).find('input[name=dateneeded]').val(),       
                         pickup      : $(row).find('input[name=pickup]').val(),       
                         dropoff     : $(row).find('input[name=dropoff]').val(),       
                         drivername  : $(row).find('textContent[name=driver_name]').val()
                        }
            }).get();
        console.log(values);
    });
});

当我在控制台中查看对象时,所有其他字段都显示正确,但驱动程序名称为“未定义”。

有没有办法获取该信息或将弹出窗口中的数据放入适当单元格的“值”中。到目前为止,我还无法显示这些数据。

谢谢

这是来自 HTML 的实际内容 -

"<td id="driverlist" width='125' align='left' onClick="selectValue('id',this)" value="?" > <input type="text" id="driver_name" name='driver_name' "size='15' style='font-weight: 700' value=''"> </td>" 

当用户在该字段中单击时,它会触发一个返回 rowIndex 的函数,然后触发 Popup,一旦选择了一个人,它就会返回该值并填写正确的单元格 -

我修改了map函数来读取

drivername : $(row).find('textContent[name=driver_name]').text()

现在它至少返回 "" 而不是未定义。 -

【问题讨论】:

  • textContent 是一个 HTML DOM 属性,而不是一个 DOM 元素。您需要在find 中使用选择器来选择单元格,然后使用text() 来获取值。如果没有看到您的 html,很难提供更多帮助。
  • 编辑您的帖子,更新代码以进行澄清;不要将它们作为 cmets 发布。

标签: javascript jquery innerhtml


【解决方案1】:

解决方案是使用

: $(row).find('td:eq(7)').text()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    • 2022-12-07
    • 2016-01-28
    • 2020-01-15
    • 2019-11-12
    相关资源
    最近更新 更多