将js变量传递给Yii中的模态

时间:2014-05-27 09:32:16

标签: javascript php jquery yii

我有一个 - 打开模态窗口的按钮,和 - jquery dynatree。

如何将变量从js(树中所选节点的id)传递给Yii中的模态?

//the modal window
$this->widget('bootstrap.widgets.TbModal', array(
'id' => 'createExercise',
'header' => 'Create..',
'content' => $this->renderPartial('_form', ['model'=>$model], 1),
'footer' => [
    TbHtml::button('Save', ['onclick'=>'$("#exercise-form").submit()']),
 ],
));

//the button
TbHtml::button('Create', array(
'id' => '#btnCreate',
'data-toggle' => 'modal',
'data-target' => '#createExercise',
));

我使用以下代码从树中获取活动节点的ID: $("#yw0").dynatree("getActiveNode").data.id;

如何将此ID传递给模态? 谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用onClick属性从按钮传递它 修改此按钮

TbHtml::button('Create', array(
'id' => '#btnCreate',
'data-toggle' => 'modal',
'data-target' => '#createExercise',
'onClick'=>'js:PassToModal($("#yw0").dynatree("getActiveNode").data.id)',
));

在你的js函数中,你可以用你想要的值来做你想做的事情,例如你想用一些动态数据填充模态,具体取决于你可以做到的节点值

<script type="text/javascript">
function PassToModal(id){
        <?php echo CHtml::ajax(array(
            'url'=>$this->createurl('getDetails'),
            'type'=>'GET',
            'dataType'=>'html',
            'data'=>array('id'=>'js:id'),
            'update'=>'#createExerciseBody'// Id of the Modal Body
        )); ?>
}
</script>