【问题标题】:Insert icons into third td while two previous tds are empty将图标插入第三个 td 而前两个 td 为空
【发布时间】:2019-05-14 12:06:04
【问题描述】:

我需要一些关于 jQuery 的帮助,以便在 td id="person-action-{{ person.id }}" 中插入两个图标,而另外两个具有相同 {{person 的 tds .id}} 为空 f.e.

<td id="person-phone-{{ person.id }}"></td>
<td id="person-email-{{ person.id }}"></td>
<td id="person-action-{{ person.id }}"></td>

我刚刚编写了一些简单的代码。

    $(document).ready(function(){
        var emptyPhone = $('#person-phone-{{ person.id }}').is(':empty')
        var emptyEmail = $('#person-email-{{ person.id }}').is(':empty')
        $('#person-action-{{ person.id }}').each(function(){
            if (emptyPhone || emptyEmail ){
             // do something
            }
        });
    });

编辑: 感谢@wiertel 很好的提示,我进一步推动了我的代码,现在我想知道如何在这个#person-action 中添加一些东西,在当前的tr 中有空的电话和电子邮件单元格。我尝试用下面的代码做一些事情:

    $(document).ready(_ => {
      $('#addressTab tbody tr').each((i, el) => {
        tr = $(el);
        id = tr.data('person-id');
        empty_phone = tr.find('#person-phone').is(':empty');
        empty_email = $('#person-email', tr).is(':empty');
        if (empty_phone && empty_email){
            $('#person-action').append("<i class='small material icons'>delete</i>");
        }
  });
});

实际结果: 预期结果:

【问题讨论】:

  • 会发生什么?
  • 没什么,因为我没有在 if 语句中实现任何 insc
  • 那么你的问题是什么?
  • 我不知道如何将一些 html 文本放入第三个 td 并且我不确定我的 if 语句是否正常工作。
  • 循环遍历表格而不是 td 元素

标签: python jquery django


【解决方案1】:

您应该知道从模板生成的 HTML 的样子。我很确定当你的 JS 代码执行时,页面中没有 {{ person.id }} 片段。

您正在评估 emptyPhoneemptyEmail 一次,然后重用 jQuery 找到的每个元素的值。这不是你想要的。

我的建议是:

  • 使用分配给&lt;tr&gt; 的那些&lt;td&gt; 所属的类并将ID 也保存在那里(&lt;tr class="userInfoRow" data-user-id="{{person.id}}"&gt;
  • 这样您就可以使用 jQuery ($("tr.userInfoRow")) 找到所有项目
  • 找到它们后,对其进行迭代,提取用户 ID,并分别检查每个项目

【讨论】:

  • 你能告诉我提取用户ID的方法吗?这对我来说真的很难,现在我只做了这个 [link] (js.do/code/316453)
  • 哇,它对我帮助很大。我有最后一个问题。仅当 current tr 中的电话和电子邮件单元为空时,我如何才能将 sth 附加到 td .action?我应该把某事放在$( '.action' ).append( "Halo" );js.do/code/316669
  • $( '.action' ) 选择所有具有类操作的元素,您应该像查找 .phone.email 时一样限制范围 - tr.find(X)$(X, tr) 实际上是相同的
  • 看起来这里的东西对你来说是新的。实验。采取小步骤。了解如何检查正在发生的事情 - 通过调试、检查员等。如果有帮助,请接受答案。 Powodzenia
猜你喜欢
  • 2012-08-30
  • 2020-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-25
  • 1970-01-01
相关资源
最近更新 更多