Javascript 当只有一个选项时,如何调用或执行ajax的change函数
这是我的第一个下拉选项,基于此选择,我使用ajax将数据发送到下一个下拉列表Javascript 当只有一个选项时,如何调用或执行ajax的change函数,javascript,php,ajax,Javascript,Php,Ajax,这是我的第一个下拉选项,基于此选择,我使用ajax将数据发送到下一个下拉列表 <select class="custom-select custom-select-sm mb-3" required="true" id="sel_block"> <option value="0">Select Block From Here</option> <?php // Fetch BLocks
<select class="custom-select custom-select-sm mb-3" required="true" id="sel_block">
<option value="0">Select Block From Here</option>
<?php
// Fetch BLocks
$sql_block = "SELECT * FROM blocks WHERE area='$area' and region='$region'";
$block_data = mysqli_query($con,$sql_block);
while($row = mysqli_fetch_assoc($block_data) ){
$blockid = $row['sno'];
$block_name = $row['block_name'];
// Option
?>
<option value="<?=$blockid?>" ><?=$block_name?></option>
<?php
}
?>
</select>
当从第一个下拉列表中选择一个选项时,第二个下拉列表中只有1个数据。我将如何调用change函数,以便获得第三个下拉列表的值
在处理response.length的成功回调中,除了检查值0外,还要检查长度是否为1,在Selu zone上触发手动更改事件:
如果len{…}
}如果len==1,则为else{
$sel_zone.append+响应[0][name]+;
$sel_zone.change;
}
否则{
...
}
我试过。。但是,当我选择单值选项时,下一个下拉列表将变为空白。哦,我想您已经知道,您还必须为1项选择框执行渲染例程。就像你在else子句中所做的一样$选择区域。追加“未找到数据”;“`”我很快会更新我的答案。我做了。。如果len==1{var id=response[i]['id'];var name=response[i]['name'];var block_selected=response[i]['block_selected'];var block_area=response[i]['block_area'];var block_region=response[i]['block_region'];ifid==name{$sel_zone.append'No Data Found';}这是返回空白下拉列表在这个else子句中你还没有在循环中,所以不能使用我!更新了我的答案。谢谢@Mohsen Taleb…成功了..我被迫在我当前的项目中使用ajax..所以不清楚规则
<script type="text/javascript">
$(document).ready(function(){
$("#sel_block").change(function(){
var blockid = $(this).val();
$.ajax({
url: 'getZone.php',
type: 'post',
data: {block:blockid},
dataType: 'json',
success:function(response){
var len = response.length;
$("#sel_zone").empty();
if(len == 0){
$("#sel_zone").append('<option value="">No Data Found</option>');
var block_selected=response[i]['block_selected'];
$("#blockid").val(block_selected);
} else{
for( var i = 0; i<len; i++){
var id = response[i]['id'];
var name = response[i]['name'];
var block_selected = response[i]['block_selected'];
var block_area = response[i]['block_area'];
var block_region = response[i]['block_region'];
if(id==name)
{
$("#sel_zone").append('<option value="">No Data Found</option>');
}
else
{
$("#sel_zone").append("<option value='"+id+"'>"+name+"</option>");
}
$("#delete_block").attr("href", "delete_block.php?blockid="+block_selected+"&area="+block_area+"®ion="+block_region+"");
$("#blockid").val(block_selected);
}
}
}
});
});
$("#sel_zone").change(function(){
var zoneid = $(this).val();
$.ajax({
url: 'getSector.php',
type: 'post',
data: {zone:zoneid},
dataType: 'json',
success:function(response){
var len = response.length;
$("#sel_sector").empty();
if(len == 0){
$("#sel_sector").append('<option value="">No Data Found</option>');
var block_selected=response[i]['block_selected'];
$("#blockid").val(block_selected);
} else{
for( var i = 0; i<len; i++){
var id = response[i]['id'];
var name = response[i]['name'];
var block_selected = response[i]['block_selected'];
var zone_selected = response[i]['zone_selected'];
var block_area = response[i]['block_area'];
var block_region = response[i]['block_region'];
if(id==name)
{
$("#sel_sector").append('<option value="">No Data Found</option>');
}
else
{
$("#sel_sector").append("<option value='"+id+"'>"+name+"</option>");
}
$("#delete_zone").attr("href", "delete_zone.php?zoneid="+zone_selected+"&blockid="+block_selected+"&area="+block_area+"®ion="+block_region+"");
$("#zoneid").val(zone_selected);
}
}
}
});
});
});
</script>