【发布时间】:2014-10-29 07:15:31
【问题描述】:
无法弄清楚这里的 $.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>
请有人帮帮我!哪里有问题? 谢谢!
【问题讨论】:
-
在您的第一列 jquery 中。可能是这里的问题
{cat_level_1 : cat_level_1}将此代码替换为:{'cat_level_1' : cat_level_1}。为参数添加引号。 -
现在它不会向我显示带有 id 的弹出窗口!
标签: php jquery codeigniter http-post