传递jquery变量

时间:2015-12-02 04:11:15

标签: javascript jquery ajax yii2

我在使用以下jquery代码时出现问题

$this->registerJs(
    'jQuery(document).ready(function($){

    $(".member").on("change",function(){
        var id = $(this).attr("id");
        // alert(id);
        var n = $(this).val();
        // alert(n);
        $.post("'.\Yii::$app->getUrlManager()->createUrl(['death/stl_set_relation','id'=>'+id'])
            .'&name="+id) 


        });

      });'
);

我希望ajax链接与此http://192.168.1.4/~user/church/backend/web/death/stl_set_relation?id=20&name=1

类似

但是我的代码“我无法正确传递id的值”。 我的代码创建的是以下url

http://192.168.1.4/~user/church/backend/web/death/stl_set_relation?id=%2Bid&name=20

我也试过这个

$.post("'.\Yii::$app->getUrlManager()->createUrl(['death/stl_set_relation','id'=>'"+id"'])
                .'&name="+id) 

但它没有给我想要的结果

如何才能正确传递id的值?

4 个答案:

答案 0 :(得分:2)

尝试这样可能会起作用..

$.post("'.\Yii::$app->getUrlManager()->createUrl(['death/stl_set_relation','id'=>'"+id+"'])
        .'&name="+n);

答案 1 :(得分:1)

您可以通过使用yii\helpers\Url类的其他方式执行此操作。

例如:

$this->registerJs(
    'jQuery(document).ready(function($){
        $(".member").on("change",function(){
            var id = $(this).attr("id");
            // alert(id);
            var n = $(this).val();
            // alert(n);
            $.post( "'.Url::toRoute('death/stl_set_relation').'", { id: id, name: id });
        });
     });'
);

答案 2 :(得分:1)

我使用以下代码

解决了这个问题
$.post("'.\Yii::$app->getUrlManager()->createUrl(['death/stl_set_relation'])
                .'?id="+id+"&relation="+n)

答案 3 :(得分:0)

试试这一行

mod

无论你在单引号中写什么,都会在JS中打印出来。您正在打印$.post("<?php echo \Yii::$app->getUrlManager()->createUrl([\'death/stl_set_relation\']) ?>?id="+id+"&name="+id)符号。你也在PHP范围内使用+,但情况并非如此。