将对象从Smarty传递给jQuery

时间:2015-04-02 11:52:26

标签: javascript jquery smarty smarty2

我有一个使用jQuery克隆的智能模板;即单击按钮将调用jQuery,jQuery将向页面添加选择字段。但是,选择字段应该在smarty模板中动态填充。

我在下面概述了我想要实现的目标。

addProject.php

// Load supervisor list into an object and pass it to smarty
$smarty->assign_by_ref('supervisor', $supervisor->results());
$smarty->display('superusers/addProject.tpl'); 

超级用户/ addProject.tpl

<div>
<p class="add add-data add-another-supervisor2"><i class="sprite plus2"></i> <span>Add <b class="hide">another</b> supervsior</span></p>
</div>
<script src="js/cloneformcontrols.js"></script> 

JS / cloneformcontrols.js

$("#main").on("click", ".add-data", function() {
    var mytarget = $(this).closest('.clonable').find('.clone:last');
    var myparent = $(this).closest('.clonable');
    var filename = "../smarty/templates/default/superusers/clones/add-supervisor.tpl";
    var theCloneHtml = '<div class="clone" id="cloneID' + formNameIncrement + '">';

    var theCloneId = 'cloneID' + formNameIncrement;
    if ($(this).hasClass('add-another-supervisor2')) {filename = "../smarty/templates/default/superusers/clones/add-another-supervisor.tpl";}

    myparent.addClass('data-added');
    mytarget.after($(theCloneHtml).load(filename, function() {
        $(this).hide().fadeIn('slow');
        updateNameAttribute(theCloneId); // need to update the name atribute or validation won't work  
    }));
    formNameIncrement++;
});

克隆/附加另一-supervisor.tpl

<div class="standard-row add-admin-row input-row">
        <label class="ib ib217"> <span class="plain-select">
                <select class="inp" data-myname="supervisor[]" name="supervisor[]">
                        <option value="">Select one</option>
                        {section name="i" loop=$supervisor}
                            <option value="{$supervisor[i]->id}">{$supervisor[i]->name}</option>
                        {/section}
                </select>
                </span> </label>
        <p class="add remove-this-data fl"><i class="sprite delete2"></i> <span>&nbsp;</span></p>
</div>

唯一不起作用的部分是 clones / add-another-supervisor.tpl 页面没有收到对象 $ supervisor < / strong>因此没有任何选项填充。

有谁知道如何解决这个问题?

0 个答案:

没有答案