2016-05-18 5 views
0

私は自分のコードと、selectオプションを使用する際に関連するStackoverflowコードを混在させました。javascript selectオプションのPHP配列の使用

コードにはjavascriptとphpがあります&詳細については、プラグインへのリンクを含めました。

だから、私はPHPの配列を使用して選択オプションです。私はに選択都市のための第2選択オプションを設定しようとしています。第二の選択肢(複数可)

<html> 
 
<head> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<script type="text/javascript" src="jquery-1.12.3.js"></script> 
 
<script type="text/javascript" src="json2.js"></script> 
 
<script type="text/javascript" src="json_parse.js"></script> 
 
<script type="text/javascript" src="json_parse_state.js"></script> 
 
<script type="text/javascript" src="cycle.js"></script> 
 

 
</head> 
 
<body> \t 
 
<?php $myvalues = array(
 
"Japan (日本)"=>"JP", 
 
"Albania (Shqipëri"=>"AL", 
 
"Algeria (‫الجزائر‬‎)"=>"DZ", 
 
"American Samoa"=>"AS", 
 
"Andorra"=>"AD", 
 
"Angola"=>"AO", 
 
"Anguilla"=>"AI", 
 
"Antarctica"=>"AQ",); ?> 
 
<script> 
 
    $(document).ready(function() { 
 
     var jqueryarray = <?php echo json_encode($myvalues); ?>; 
 
     for (var i = 0; i < jqueryarray.length; i++) 
 
\t \t { 
 
      console.log(jqueryarray[i]); 
 
     }; 
 
\t \t 
 
\t \t $("#type").change 
 
\t \t (function(){ 
 
     var val = $(this).val(); 
 
\t \t if (val == "Japan (日本)"=>"JP",) 
 
\t \t { 
 
      $("#ddlViewBy").html("<select id=\"jap\"><option value=\"9\">Fukuoka </option><option value=\"9\">Hamamatsu</option><option value=\"9\">Himeji</option><option value=\"9\">Hiroshima</option><option value=\"9\">Kagoshima</option><option value=\"9\">Kawasaki</option><option value=\"9\">Kitakyushu</option><option value=\"9\">Kobe</option><option value=\"9\">Kumamoto</option><option value=\"9\">Kyoto</option><option value=\"9\">Matsuyama</option><option value=\"9\">Nagoya</option><option value=\"9\">Niigata</option><option value=\"9\">Osaka</option><option value=\"9\">Sagamihara</option><option value=\"9\">Sapporo</option> \t <option value=\"9\">Shizuoka</option><option value=\"9\">Tokyo</option><option value=\"9\">Utsunomiya</option><option value=\"9\">Yokohama</option></select>"); 
 
\t \t } \t 
 
\t \t else if (val =="Andorra") 
 
\t \t { 
 
\t \t  $("#ddlViewBy").html("<select id=\"pin\"><option value=\"8\">light</option><option value=\"8\">Saint</option><option value=\"8\">grin</option><option value=\"8\">cake</option></select>"); 
 
\t \t 
 
\t \t } 
 
}); 
 

 
</script> 
 
<select id ="type"> 
 
<option value="">-----------------</option> 
 
\t 
 
<?php 
 
foreach($myvalues as $key => $value): 
 
echo '<option value="'.$key.'">'.$value.'</option>'; //close your tags!! 
 
endforeach; 
 
?> 
 
</select> 
 
\t <select id="ddlViewBy"> 
 
\t \t \t <option value="">select city</script></option> \t 
 
\t </select> \t 
 
</body> 
 
</html>
を移入することができません:私はPHPの配列を使用するため、タイムゾーンの目的の

enter image description here

問題必要

enter image description here

+1

コードが変更されても大丈夫ですか? –

+0

if(val == "Japan(日本)" => "JP")を 'if(val ==" Japan(日本) ")'に変更してみてください。そしてAzamantesの答えに従ってください。 – ImClarky

+0

@EdvinTenovim確かめてください!それは大きな助けになる問題はありません。 –

答えて

0

あなたは別の選択内の選択を置くしようとしています。

$("#ddlViewBy").html("<select id=\"pin\"><option value=\"8\">light</option><option value=\"8\">Saint</option><option value=\"8\">grin</option><option value=\"8\">cake</option></select>"); 

タグを付けずにオプションを入れてみてください。それはjavascriptの部分で動作するはずです。

これは明らかにjavascriptではありません。 Javascriptがブラウザで実行され、PHPはサーバー上で実行される

if (val == "Japan (日本)"=>"JP",); // you are trying to compare javascript with PHP style array element. 

、彼らはあなたのWebページ上で同時に実行することはできません。私はそれが何であるかを知りません。 Webページがネットワーク経由でブラウザに到達する前にPHPが実行されます。それは物事を少しはっきりさせ、あなたがこれら2つを混乱させるのを避けるのを助けます。

あなたがマップのようなオブジェクトを作成することができ、次にような何か:

if(val === mapObject['JP']) // or something similar 

をあなただけの文字列の配列を作成することができ、その後、あなたが本当にそれをこのように行う必要がある場合、大きなHTMLにそれらを連結(DOM要素のinnerHTMLを変更する)。

+0

こんにちは、それは私がjavascriptとphp配列でやろうとしているものです。私はタイムゾーンに使用しました。 –

+0

回答と提案をありがとう。 –

関連する問題