我有下拉列表,当选择其中的任何选项时,应填充另一个下拉值。
我需要使用某个变量检查第一个下拉值,并根据该条件,根据它填充其他下拉值。
我的第一次下拉,
<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);
});
但是没有得到第二次下拉的下拉值。
答案 0 :(得分:0)
您必须撰写网络服务。创建一个新页面,当第一个下拉列表发生更改时将调用该页面(使用AJAX)。 将选定值传递给该页面,以JSON(可能)发送响应。 将响应设置为其他组件。
jQuery("#mySelect").change(function () {
var val = jQuery(this).val();
jQuery.ajax({
url: 'your_new_page.php',
data: 'dropvalue='+val,
processData: false,
type: 'GET',
dataType:'json',
success: function(response){
//load json data from server use it
},
error: function(jqXHR, textStatus, errorThrown) {
//there is an error
}
});
});
your_new_page.php
if(isset($_GET['dropvalue'])) {
$myPhpVar = $_GET['dropvalue'];
//do what you want and return the response
} else {
//value not submitted, send an error
}