无法弄清楚这里$ .post的问题是什么。 实际上我正在从第1列和第2列的数据库中检索数据。当我单独尝试控制器功能时,两者都获得了完美的值。现在,我正在尝试jquery,当单击第一列值时,它会显示其他列值。但它没有传递$ .post
以下是jquery:
<script type='text/javascript'>
$('document').ready(function(){
var link ="<?php echo base_url();?>" ;
$( "#cat_level_1" ).on( "click", function() {
var cat_level_1 = $('#cat_level_1').val();
alert (cat_level_1); //getting elements id like (men alert for 49) alert on click
$.post(link + "admin/admin_cat/cat_level_2", {cat_level_1 : cat_level_1}, function(data) {
alert( "Data Loaded: " + data);
//here it showing me HTML of my controller in alert.
$('#cat_level_3').html('');
$('#cat_level_4').html('');
$('#cat_level_2').html(data);
});
});
});
</script>
第二栏:
<script type="text/javascript">
$('document').ready(function(){
var link ="<?php echo base_url();?>" ;
$('#cat_level_2').click(function(){
var cat_level_2 = $(this).val();
alert (cat_level_2); //it shows me alert with its db id.
$.post(link + "admin/admin_cat/cat_level_3", {cat_level_2:cat_level_1}, function(data) {
$('#cat_level_4').html('');
$('#cat_level_3').html(data);
});
});
});
<script>
这是我的php(view)代码,我从中得到了值:
第1列:
<div class="category-col">
<select size="15" name="cat_level_1" id="cat_level_1">
<?php
if (isset($cat_level_1) && $cat_level_1 != ''){
foreach ($cat_level_1 as $cat_1) {?>
<option value="<?php echo $cat_1['cat_id']; ?>">
<?php echo $cat_1['cat_title']; ?>
</option>
<?php }
}
?>
</select>
</div>
第2栏:
<div class="category-col">
<select size="15" name='cat_level_2' id='cat_level_2'>
<?php
if (isset($cat_level_2) && $cat_level_2 !=''){
foreach ($cat_level_2 as $cat_2) {?>
<option value="<?php echo $cat_2['cat_id']; ?>">
<?php echo $cat_2['cat_title']; ?>
</option>
<?php }
}
?>
</select>
</div>
请帮帮我!问题出在哪儿? 谢谢!
答案 0 :(得分:0)
问题出在这一行:
$.post(link + "admin/admin_cat/cat_level_3", {cat_level_1:cat_level_1}, function(data) {
这里的问题是你在两个地方使用var "cat_level_1"
值,当你试图在php中读取para时你就不会得到它。
我认为你应该引用密钥cat_level_1。所以代码必须是:
$.post(link + "admin/admin_cat/cat_level_3", {"cat_level_1":cat_level_1}, function(data) {
尝试这个,如果它适合你。
答案 1 :(得分:0)
问题在于这一行
var link ="<?php echo base_url();?>" ;
如果您设置了虚拟主机,则无法通过javascript执行此操作window.location.origin + "/admin/admin_cat/cat_level_2"
答案 2 :(得分:0)
好的,这可能是错误的。
cat_level_2:cat_level_1
成功
cat_level_2:cat_level_2
在第二个js。
答案 3 :(得分:0)
你不能在js文件中写php代码。所以这行不行。
var link ="<?php echo base_url();?>" ;
尝试在包含javascript文件之前在主视图文件(标题)中添加此行
<script type="text/javascript">
var link ="<?php echo base_url();?>" ;
</script>