【问题标题】:Pass js variable to modal in Yii在 Yii 中将 js 变量传递给 modal
【发布时间】:2014-05-27 09:32:15
【问题描述】:

我有一个
- 打开模式窗口的按钮,以及
- jquery dynatree。

如何将 js 中的变量(树中选定节点的 id)传递给 Yii 中的 modal?

//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 传递给模态框? 谢谢!

【问题讨论】:

    标签: javascript php jquery yii


    【解决方案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>
    

    【讨论】:

    • 在 Yii2 中,可以使用 js:PassToModal... 代替 new \yii\web\JsExpression("PassToModal...")
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-17
    • 1970-01-01
    • 2014-03-14
    • 1970-01-01
    • 1970-01-01
    • 2012-11-19
    相关资源
    最近更新 更多