ホームページ >バックエンド開発 >PHPチュートリアル >ポップアップウィンドウでの戻り値の処理方法

ポップアップウィンドウでの戻り値の処理方法

WBOY
WBOYオリジナル
2016-06-23 14:17:05982ブラウズ

PHP Yii

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;',    ));    ?>

現在の問題は、[OK] ボタンに常に問題があることです。 jqueryに詳しくないので教えてください。ありがとう!

ディスカッションへの返信 (解決策)

$("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");

文字列と変数を接続するには + を使用します

エラー メッセージを確認するには、firebug などのツールも活用してください

間違っている場合 group-grid_c0[] がそうでない場合文字列の場合は、

$("input[name= 'group-grid_c0[] ']:checkbox:checked").each(function{(rv+=$(this).val();) } に変更する必要があります。 );

window.dialogArguments.getElementbyid("group").value=rv;
$(this).dialog("close");

ありがとう、文字列 group-grid_c0[]修正してください
$("input[name='group-grid_c0[]']:checkbox:checked").each(function{(rv+=$(this).val();)}); に変更してください2 つの引用符と中括弧はエスケープする必要があります。しかし、問題はまだ残っています。ポップアップ ウィンドウはメイン ページに直接埋め込まれます。誰か説明してもらえますか? homeホームページに埋め込まれるとはどういう意味ですか? (function {rv+= $();通常、以下に示すように、[受信者グループの選択] をクリックした後にウィンドウがポップアップ表示されます:

ただし、ポップアップ ウィンドウがメイン ページに直接表示されるようになり、[受信者グループを選択] をクリックします。も効果がありません



ああ、写真が反転しています

解決しましたか?

一般的に、ポップアップさせたい部分は、最初に非表示にし、クリックすると表示する必要があります

スタイルが正しいかどうかを確認してくださいjquery_ui を使用 まず、非表示かどうかを確認します。 次に、選択した受信者グループにイベントがバインドされているかどうかを確認します。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。