【发布时间】:2017-05-16 07:57:32
【问题描述】:
我有下拉列表中的任何选项,另一个下拉值值应该填充。
我需要使用某个变量检查第一个下拉值,并根据该条件填充其他下拉值。
我的第一个下拉菜单,
<select id="mySelect" name="name">
<option>Select any city</option>
<?php foreach ($data as $c) { ?>
<option><?php echo ($c[0]['value']); ?></option>
<?php } ?>
</select>
我正在使用 jquery 获取上面的下拉选择值,但我需要在 php
jQuery("#mySelect").change(function () {
...
});
对于第二个下拉菜单,
<select>
......
if ($myPhpVar == $data[1][$j][$i]['c_name']){ ?>
<option><?php echo $data[1][$j][$i]['a_name']; ?></option>
<?php }
.... ?>
</select>
这里$myPhpVar应该是第一个下拉选择的值,我需要将它与一些数据进行比较。
如何获取第一个下拉值并将其设置为$myPhpVar
更新:
使用 jQuery 管理下拉菜单:
jQuery("#mySelect").change(function () {
var end = this.value;
var firstDropVal = jQuery('#mySelect').val();
<?php for($j=0; $j<count($data[1]); $j++ ){
//print_r ($data[1][$j]);
for($i=0; $i<count($data[1][$j]);$i++){
if ($myPhpVar == $data[1][$j][$i]['city_name']){
echo $data[1][$j][$i]['area_name']; ?>
jQuery('#dsad').append("<option><?php echo json_encode($data[1][$j][$i]['area_name']); ?></option> ")
<?php
}
}
} ?>
console.log(end);
console.log(firstDropVal);
});
但没有获得第二个下拉菜单的下拉值。
【问题讨论】:
-
如果您想修改第二个下拉列表在用户在第一个下拉列表中选择了一个选项之后,您必须发送一个 AJAX 请求。
-
你不能直接使用 php 来做到这一点,你需要 1) 使用完整的 javascript 来处理这个,或者 2) 提交一个新的 http 请求来使 php 生效或者 3) 使用 ajax跨度>
-
如何使用 javascript 处理这个问题? @hassan
-
在您的
change回调中,按照您的逻辑选择或填充其他选择下拉菜单 -
@Mann 阅读了这篇关于传递变量coderslexicon.com/… 的文章@stackoverflow.com/questions/1917576/… 上还有一个 SO 问题
标签: javascript php jquery arrays