2015-08-02 17:33:43 3633次浏览 1条回答 0 悬赏 100 金钱

大家好,请问如何才能实现下方需求? php js 对象之间的调用

<script>
    function renderColumns(event, data) {
        var node = data.node;
        $tdList = $(node.tr).find(">td");
        $tdList.eq(1).text(node.data.route);
        crate = '<?=
         Html::a(' 新增 ', 'javascript:void(0);',
        ['action-url' => Url::to(['create','id'=> 这里需要调用js的对象data ])]);
    ?>';
        $tdList.eq(2).html(crate);
    }
</script>

最佳答案

  • 性感的农民 发布于 2015-08-02 18:50 举报
    1. 首先html或者js中的<?php ... ?>以及<?= ... ?>都是在后端执行的(通过webserver调用php程序对.php文件解析执行),而js是前端脚本,由浏览器解释执行的。

    2. js'调用'的php对象,在后端就定格了,不会再变化。php脚本变成了html或者js。

    3. 你的php中想要使用js对象,只能用<?php ... ?>和js混写,而不适合用<?= ... ?>方法。js对象(比如你的问题中的data)不能嵌在在<?php ?>内。

    例如这样混写:

        var val = '';
    	<?php $i=0; foreach ($un_grouped_boxes as $k => $v) { $boxid = $v['id'];  ?>
    	    var box = getObjInBoxes(<?= $boxid ?>);
    	    console.log('mac:'+box['lan_mac']);
    	    val += '<li class="ads-group-boxes-info" >';
    	    val += '    <div style="width:100%;">';
    	    val +=
    		    '<?php
    			echo "<span >";
    			$itmp = ($i==0)?'fa fa-circle':'fa fa-circle-o';
    			$icon = '<span boxid="'.$boxid.'" id="boxid-'. $boxid. '" class="'
    			    . $itmp . '">&nbsp;</span>';
    			echo Html::a($icon.$v["lan_mac"], "javascript:void(0)",[
    			    "onclick" => "selectBox($boxid)",
    			    "style" => "text-decoration:none;",
    			]);
    			echo "</span>";
    		    ?>';
    	    val += '</div>';
    	    val += '    <div class="ads-group-boxes-info-bottom" style="font-size:10px;">';
    	    val += '       &nbsp;&nbsp;&nbsp;&nbsp;<span>序列号:<?= $v["sn"] ?> </span>';
    	    val += '    </div>';
    	    val += '    </li>';
    	    <?php 
    		if ($i==0){
    	    ?>
    		var v = <?= json_encode($v) ?>;
    		show_box_info(v);
    	    <?php } ?>
    	<?php $i++;} ?>
        if (val != ''){
    	val = '<ul class="list-unstyled">'+val+'</ul>';
        }
        _list.html(val);
    
    2 条回复
    回复于 2015-08-02 19:18 回复

    呃~~~ 你真是我膜拜的对象!

    回复于 2015-08-02 20:04 回复

    我也好崇拜他

    , , 觉得很赞
    没有找到数据。
您需要登录后才可以回答。登录 | 立即注册
xjdata
CEO

xjdata

注册时间:2011-12-07
最后登录:2024-05-05
在线时长:112小时38分
  • 粉丝23
  • 金钱14169
  • 威望75
  • 积分16039

热门问题