doudao1922
2016-11-30 21:04
浏览 248
已采纳

使用PHP解析数组-YII2中的JS变量解析JS文件中的PHP数组

How should I do this?

 $ids = ArrayHelper::map(Tours::find()->select(['pk', 'programa'])->asArray()->all(), 'pk', 'programa');


$this->registerJs('
$("#child1_child2").change(function() {
    var val = $("#child1_child2 option:selected").val();
    valInt = parseInt(val);
    $("#form").attr("action", "programas/" + "'.$ids[.'"valInt"'.].'");
});
', \yii\web\View::POS_END);

I dont know how to parse this part:

$("#form").attr("action", "programas/" + "'.$ids[.'"valInt"'.].'");

$ids it's a php array

valInt is a js varibale

I thought this was correct but I'm getting parse error

syntax error, unexpected '.', expecting ']'

if I write "'.$ids[40].'" it works great and with no errors.

Thi is in the view of site/index.php, working with Yii2.

Thanks for the help!

图片转代码服务由CSDN问答提供 功能建议

我该怎么做?

  $ ids = ArrayHelper :: map(Tours :: find() - > select(['pk','programa']) - > asArray() -  > all(),'pk','programa'); 
 
 
 $ this-> registerJs('
 $(“#child1_child2”)。change(function(){
 var val =  $(“#child1_child2 option:selected”)。val(); 
 valInt = parseInt(val); 
 $(“#form”)。attr(“action”,“programas /”+“'。$ ids  [。'“valInt”'。]。'“); 
}); 
',\ yii \ web \ View :: POS_END); 
   
 
 

我不知道如何解析这部分:

  $(“#form”)。attr(“action”,“programas /”+“'。$ ids [。  '“valInt”'。]。'“); 
   
 
 

$ ids它是一个php数组

valInt是一个js varibale

我认为这是正确的但我得到解析错误

 语法错误,意外'。',期待']'  
   
 
 

如果我写“'。$ ids [40]。”“它运作良好而且没有错误。

这是在site / index.php的视图中,使用Yii2。

感谢您的帮助!

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dongqian9567 2016-11-30 21:53
    已采纳

    Try this

    $ids = ArrayHelper::map(Tours::find()->select(['pk', 'programa'])->asArray()->all(), 'pk', 'programa');
    
    
    $this->registerJs('
    $("#child1_child2").change(function() {
        var val = $("#child1_child2 option:selected").val();
        valInt = parseInt(val);
        var $ids = '. json_encode($ids) .';
        $("#form").attr("action", "programas/" + $ids[valInt]);
    });
    ', \yii\web\View::POS_END);
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题