弹出窗口怎么处理返回值

cffall 2013-07-24 03:10:15
我用Yii框架做了个弹出框选择组,并返回给主页面
    <?php
$this->beginWidget('zii.widgets.jui.CJuiDialog', array(
'id'=>'mydialog',
// additional javascript options for the dialog plugin
'options'=>array(
'title'=>'选择接收者组',
'autoOpen'=>false,
'modal'=>true,
'buttons'=>array(
'确定'=>'js:function(){var rv;
$("input[name="group-grid_c0[]"]:checkbox:checked").each(function{(rv+=$(this).val();)});
window.dialogArguments.getElementbyid("group").value=rv;
$(this).dialog("close");
}
',
'关闭'=>'js:function(){$(this).dialog("close");}',
),
),
));

echo $this->renderPartial('/group/_choose',null,TRUE);

$this->endWidget('zii.widgets.jui.CJuiDialog');

// the link that may open the dialog
echo CHtml::link('选择接收者组', '#', array(
'onclick'=>'$("#mydialog").dialog("open"); return false;',
));
?>

现在问题是确定按钮老是有问题。我jquery不熟,请大家帮我看看。谢谢!
...全文
329 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
再看我一眼 2013-07-26
  • 打赏
  • 举报
回复
解决了吗? 一般来说要弹出的部分要先hide 然后当你点击的时候show 看样式是不是用了jquery_ui 首先看看隐藏了没 其次看看那个 选择接受者组 是否绑定了事件
cffall 2013-07-25
  • 打赏
  • 举报
回复
啊,图贴反了
cffall 2013-07-25
  • 打赏
  • 举报
回复
正常情况下应该是点击‘选择接收者组’连接后弹出一个窗口如下图:
而现在却是弹出窗口直接显示在主页面上了点击‘选择接收者组’也没有任何作用
ohmygirl 2013-07-24
  • 打赏
  • 举报
回复
'确定'=>'js:function(){var rv; $("input[name=\"group-grid_c0[]\"]:checkbox:checked").each(function{(rv+=$(this).val();)}); window.dialogArguments.getElementById("group").value=rv; $(this).dialog("close"); }',
再看我一眼 2013-07-24
  • 打赏
  • 举报
回复
嵌在主页面上是什么意思? 不明 上图看看呗
cffall 2013-07-24
  • 打赏
  • 举报
回复
谢谢anyilaoliu,group-grid_c0[]这个字符串的确有问题,要改成 $("input[name=\'group-grid_c0\[\]\']:checkbox:checked").each(function{(rv+=$(this).val();)}); 两个引号和大括号都要转义。但是问题还是依旧。弹出窗口会直接嵌在主页面上。哪位可以解释一下吗?
再看我一眼 2013-07-24
  • 打赏
  • 举报
回复
说错 如果你这个group-grid_c0[]不是变量而是字符串的话 要改为 $("input[name='group-grid_c0[]']:checkbox:checked").each(function{(rv+=$(this).val();)}); window.dialogArguments.getElementbyid("group").value=rv; $(this).dialog("close");
再看我一眼 2013-07-24
  • 打赏
  • 举报
回复
另外善用firebug之类的工具来看看出错提示
再看我一眼 2013-07-24
  • 打赏
  • 举报
回复
$("input[name="group-grid_c0[]"]:checkbox:checked").each(function{(rv+=$(this).val();)}); window.dialogArguments.getElementbyid("group").value=rv; $(this).dialog("close"); 改成 $("input[name="+group-grid_c0[]+"]:checkbox:checked").each(function{(rv+=$(this).val();)}); window.dialogArguments.getElementbyid("group").value=rv; $(this).dialog("close"); 字符串和变量之间用+相连

4,250

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧