2012-03-06 5 views
0

私はサーバー側のコードで生成されたphp配列を持っています。ユーザーがドロップダウンメニューからオプションを選択した後、入力フィールドに配列の値を表示したい。私のコードをご覧ください:javascriptでphp配列をエコーするには?

$(document).ready(function(){ 
$('select[name="job_number"]').change (function() { 
    var selectedVal = $(this).val(); 
    var test="<?php echo $JNarray['selectedVal'];?>"; //where the problem is 
    $('input[name="project"]').val(test); 
//I want show value1 to value 3 in my input field when user picks 
//an option from my dropdown menu. 

}); 

<?php 
    $JNarray['job1']=value1; 
    $JNarray['job2']=value2; 
    $JNarray['job3']=value3; 
?> 

<form action='project_manager' method='post'> 
<input type='text' name='project' value='show value1 to value3 when user picks an option' /> 
<select name='job_number'> 
<option value='job1'>job1</option> 
<option value='job2'>job2</option> 
<option value='job3'>job3</option> 
</select> 

</form> 

どのような考えですか?助けてくれてありがとう!

+0

実際のエラー/問題は何ですか?あなたは決して言及しません。 – Jakub

答えて

2

変数を配列に設定することなくそれを行うよりクリーンな方法です。

<option value='job1' data-job-val="<? echo $arrayvalue ?>">job1</option> 

JS:あなたが宣言すると、あなたがそれを使用する前に、配列を移入する必要が

$('select[name="job_number"]').change (function() { 
    var test=$(this).find('option:selected').data('job-val'); 
    $('input[name="project"]').val(test); 
}); 
+0

ありがとう!私はあなたの答えが好きです。毎日何か新しいことを学ぶ。 – FlyingCat

+0

jQueryモバイルを見れば...フレームワーク全体は、テーマ設定からページの描写までのさまざまなデータ属性によって駆動されます – charlietfl

1

けれども、私はJSでエコーPHPをrecommenedない...そんな

var test=JSON.parse(<?php echo json_encode($JNarray['selectedVal']);?>); //where the problem is 
+0

未定義の変数$ JNarryが表示されるというエラーが発生しました。それはJavaScriptがページが生成される前にPHPによって作成された配列を取得しようとしているからですか? +1。 – FlyingCat

+0

Javascriptは '$ JNarray'についての知識がありません – Trevor

1
<select name='job_number'> 
<option value='<?php echo $JNarray['job1'] ?>'>job1</option> 
... 
... 
</select> 

<script> 
$(document).ready(function(){ 
$('select[name="job_number"]').change (function() { 
    $('input[name="project"]').val($(this).val()); 
}); 
</script> 

何か。しかし

"<?php echo $JNarray['"+selectedVal+"'];?>" 

は、PHPがあなたのPHPファイルではなく、良いアプローチの男から、あなたのJSを呼び出す意味エコーしようと、私はトレバーと同意

+0

私はあなたの方法が好きです。どうもありがとう! +1 – FlyingCat

0

は、!、私が通過する唯一のことは、多分BASE_URLまたはFILE_UPLOAD_TYPE /ありますSIZE、でもそれらはewwwwwwwy

+1

助けてくれてありがとう。 +1! – FlyingCat

1
  1. jQueryの$ .dataの()

    HTMLを読み込むことをデータ属性を使用しますjqueryコードで。 <?php ?>コードを上部に移動します。トレバーが提案されているよう

  2. は、次にJSONを使用して、JavaScriptに全体のPHPの配列を渡す:

    $(document).ready(function(){ 
        var options = JSON.parse(<?php echo json_encode($JNarray);?>); 
        $('select[name="job_number"]').change (function() { 
         var selectedVal = $(this).val(); 
         var test=options[selectedVal]; //where the problem was 
         $('input[name="project"]').val(test); 
        }); 
    }); 
    
+0

助けてくれてありがとう! +1 – FlyingCat

関連する問題