我混合了我的代码和使用select选项相关的Stackoverflow。
代码有javascript和php&我提供了插件链接,仅供参考。
所以我使用php数组作为select选项。我正在尝试填充选择城市的第二个选项。
由于时区的目的,我需要使用PHP数组
问题:无法填充第二个选项
<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>
<?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++)
{
console.log(jqueryarray[i]);
};
$("#type").change
(function (){
var val = $(this).val();
if (val == "Japan (日本)"=>"JP",)
{
$("#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> <option value=\"9\">Shizuoka</option><option value=\"9\">Tokyo</option><option value=\"9\">Utsunomiya</option><option value=\"9\">Yokohama</option></select>");
}
else if (val =="Andorra")
{
$("#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>");
}
});
</script>
<select id ="type">
<option value="">-----------------</option>
<?php
foreach($myvalues as $key => $value):
echo '<option value="'.$key.'">'.$value.'</option>'; //close your tags!!
endforeach;
?>
</select>
<select id="ddlViewBy">
<option value="">select city</script></option>
</select>
</body>
</html>
答案 0 :(得分:0)
您正在尝试将select放入另一个选择中。
$("#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。我不知道它是什么:
if (val == "Japan (日本)"=>"JP",); // you are trying to compare javascript with PHP style array element.
Javascript在浏览器中执行,PHP在服务器上执行,它们无法在您的网页上同时运行。在您的网页甚至通过网络访问浏览器之前执行PHP。这可能会使事情变得清晰一些,并帮助您避免混淆这两者。
您可以创建类似地图的对象,然后执行以下操作:
if(val === mapObject['JP']) // or something similar
你可以创建一个字符串数组,然后将它们连接成大HTML,如果你真的需要这样做(改变DOM元素的innerHTML)。