我有一个依赖动态下拉列表,但是只要我将其包含在模态中,它就可以正常工作。
这是我在模态中的代码:
<script src="plugins/jQuery/2.1.1.jquery.min.js"></script>
<script src="js/jquery.form.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#BugMaster').on('change',function(){
var bugmasterID = $(this).val();
if(bugmasterID){
$.ajax({
type:'POST',
url:'ajax/bugs/populate.cat.php',
data:'id_bug_master='+bugmasterID,
success:function(html){
$('#BugMasterCat').html(html);
}
});
}else{
$('#BugMasterCat').html('<option value="">Select BugMaster first</option>');
}
});
});
</script>
这是带有列表的表单的html部分:
<select class="form-control" name="BugMaster" id="BugMaster">
<option value="0" selected="selected">Please select module</option>
<?
while($r_b_c = mysqli_fetch_array($q_b_c)){
?>
<option value="<? echo $r_b_c['id_bug_master']; ?>"><? echo $r_b_c['name']; ?>
</option>
<? } ?>
</select>
这是依赖列表
<select name="BugMasterCat" id="BugMasterCat">
<option value="">Select country first</option>
</select>
'populate.cat.php'文件如下所示:
if(isset($_POST["id_bug_master"]) && !empty($_POST["id_bug_master"])){
$id_bug_master = clean_data($_POST['id_bug_master']);
$q_cat = mysqli_query($sqllink,"SELECT * FROM bugs_categories
WHERE valid='1' AND id_bug_master='$id_bug_master'");
while($r_cat = mysqli_fetch_array($q_cat)){
echo "<option value='$r_cat[id_cat]'>$r_cat[name]</option>";
}
}
然后,如果我直接从页面加载它,所有这一切都可以正常工作,但是一旦我在模态中打开它,它就会失败并且不会显示任何类别。我认为它与$(document).ready(未加载的function()有关。
不工作我的意思是没有加载第二个下拉列表。
任何帮助将不胜感激。谢谢。
答案 0 :(得分:0)
我认为您的下拉列表中没有附加任何事件
更改您的代码:
... $(&#39;#BugMaster&#39;)。on(&#39; change&#39;,function(){....
与
$(文件).on(&#39;点击&#39;,&#39;#BugMaster&#39;,function(){
答案 1 :(得分:0)
您需要从模型本身加载JAVASCRIPT代码,而不是从父/ Base页面加载。
但是如果你想使用另一个使用委托或使用内联javascript函数调用的选项。
$(document).delegate('#BugMaster', 'change', function(){
//Implement your code here
});
OR
<select class="form-control" name="BugMaster" id="BugMaster" onchange="CALLJAVASCRIPTFUNCTIONHERE();">