怎么让html表格td里显示js返回的值

发布于 2022-09-11 19:14:48 字数 2535 浏览 11 评论 0

问题描述

怎么让html表格td里显示js返回的值,这是在volist循环里面的,我就是想要<td id="td1"></td>显示js返回的值。

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

<tbody>
{volist key="key" name="$innoexcel" id="val"}
<tr>
    <td>{$key}</td>
    <td>{$val.project_name}</td>
    <td>{$val.cont_name}</td>
    <td>{$val.tel}</td>
    <td>{$val.email}</td>
    <td>{$val.emp_id}</td>
    <td>{:date('Y-m-d',$val.pact_time)} ~ {:date('Y-m-d',$val.pact_end_time)}</td>
    <td>{:date('Y-m-d H:i:s',$val.create_time)}</td>
    <td>{$val.main_name}</td>
    <td>{$val.lead_unit}</td>
    <td>{$val.lead_team}</td> 
    <td>{$val.help_unit}</td>
    <td>{$val.help_team}</td>
    <td>{$val.other_help}</td>
    <td>{$val.project_type}</td>
    <td>{$val.pro_classify}</td>
    <td>{$val.detpro_classify}</td>
    <td>{$val.research_dire}</td>
    <td>{$val.sup_explan}</td> 
    <td>{$val.fill_way}</td>
    <td>{if($val.status==0&&$val.status1==0)}<font color="#4876FF">待评委审核</font>{elseif($val.status==0&&$val.status1==1)}<font color="#CD00CD">评委已审,待管理员审核</font>{elseif($val.status==1)}<font color="#32CD32">审核通过</font>{elseif($val.status==2)}<font color="#EE3B3B">审核未通过</font>{/if}</td>
    <td id="td1"></td>
    <script>
    function setValue(){
        $val.jud_opinions=$val.jud_opinions.split(',')
        if($val.jud_opinions[0]==null){
            var jud_opinions="评委暂未审核......";
            document.getElementById("td1").innerHTML =jud_opinions;
        }
        else{
            $val.audit=$val.audit.split(',')
            $val.jud_opinions=$val.jud_opinions.split(',')
            len1=$val.audit.length
            $val.jud_opinions1=''
            for(i=0;i<len1;i++)
            {            
                $val.jud_opinions[i]=$val.audit[i]+':'+$val.jud_opinions[i];
                $val.jud_opinions1+=$val.jud_opinions[i]+'\n'                                        
            }
            var jud_opinions=$val.jud_opinions1;
            document.getElementById("td1").innerHTML =jud_opinions;
        }
    }
    </script>
</tr>
{/volist}
</tbody>

你期待的结果是什么?实际看到的错误信息又是什么?

我的一直没有输出,是空白。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

分分钟 2022-09-18 19:14:48

$(tbody).find('tr').eq(1).find('td').eq(2);

要走就滚别墨迹 2022-09-18 19:14:48

找到另外一种实现思路:

<#if cmsMaterial.playTime??>

     <td style="width:10%" align="center" ><script>document.write(secToTime(${cmsMaterial.playTime!}))</script><td>
    </#if>
    <td style="width:10%" align="center"><td>
    
    
    这样就可以在js函数里面操作td的原始内容并返回。
清晨说晚安 2022-09-18 19:14:48

1.我理解的你这是循环一个数组里的值,但是document.getElementById("td1").innerHTML =jud_opinions;这里使用id去获得表格单元是有问题的,因为循环完以后会有多个idtd1的单元格,而规范要求html中的id必须是唯一的。
2.你只是进行了函数定义而未进行函数调用。
3.你可以改写函数为接受当前的这条数据为参数,最后document.getElementById("td1").innerHTML =jud_opinions;return jud_opinions;吧脚本放到循环列表的上方,然后在单元格里调用这个函数。即<td id="td1">{setValue($val.jud_opinions)}</td>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文