0

私はページを持っており、ページが開始されると、このようなphpを使用してデータを取得します

<?php $data = $this->data;?>

そして、そのデータを選択タグに配置したいのですが、ページが開かれたときに選択タグが定義され、ユーザーがクリックすることなく、これは次のようになります

$(document).ready(function(){
  $("#Id").val(data);
});

しかし、私の問題は、jQuery関数が別のファイルにあるということです。つまり、htmlファイルにはないので、htmlのphpから取得したデータをjQueryファイルに送信するにはどうすればよいですか

私はいくつかのデータを取得するためにphpを使用したhtmlページを持っています

jsファイルがあり、そのデータを使用したい

問題を説明できない場合は、コードを入力するように言ってください

いくつかのコード

html

<?php

    $questionInfo = $this->questionInfo->fetch();
    ?>
    <li>
                <label>Type</label>
                <select  name="type"class="TypeSelector"></select>
                <span class="errorMessage"></span>
    </li>

jQuery

 $.getJSON("http://localhost/Mar7ba/Type/getAllTypes/TRUE",function(data){
                var options = '';
                options+="<option>Select Type</option>";
                for(var i=0;i<data.length;i++){
                    options += "<option value='"+data[i]+"'>"+data[i]+"</option>";
                }
                if($("#addPlace #apTypeSelect").length){
                    $("#addPlace #apTypeSelect").html(options);
                }
                if($('.TypeSelector').length){
                    $('.TypeSelector').html(options);
                    $('.TypeSelector').val("<?php echo $questionInfo['typeName']; ?>");
                }
            });

jQueryで、コードの最後の行を確認してください。これ は私がやりたいことですが、questionInfoは識別されません

HTML ページで JS を使用できません。なぜなら、私の Web サイトはすべて同じヘッダーを持ち、すべてのページが `` からではなく、本文から始まるからです。

4

4 に答える 4

2

あなたの編集によると:

<?php
    $questionInfo = $this->questionInfo->fetch();
?>

JS コード:

var typeName = '<?php echo $questionInfo["typeName"];?>';

コードの最後の行:

$('.TypeSelector').val(typeName);
于 2012-05-26T14:21:46.930 に答える
1

次のコードを HTML ページに挿入します。

<script type="text/javascript">
    var data = "<?php $this->data;?>";
</script>
<script type="text/javascript" src="jsPath/jsFile.js"></script>

dataこれで、js ファイルで変数を使用できます。

于 2012-05-26T14:19:05.573 に答える
0

1 つのオプション (私も含めて眉をひそめていますが) は、HTML の最後に PHP から渡された値を必要とする jquery スクリプト要素を配置することです。これにより、要素が読み込まれ、スクリプトが値を認識できるようになります。より良い方法は、一般的に ajax を使用するか、ブラウザ側のコードをリファクタリングして、php が提供するデータへの依存を少なくすることです (少なくとも、ご覧のように依存を減らします)。

于 2012-05-26T14:24:06.630 に答える
0

私が知っている最善の方法は

$(document).ready(function(){
  $("#Id").val("<?php echo $this->data;?>");
});

また

var data = "<?php echo $this->data;?>";
$(document).ready(function(){
  $("#Id").val(data);
});
于 2012-05-26T14:19:26.330 に答える