jQuery onClick опубликовать данные во второй столбец

Не могу понять, в чем проблема с $ .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

Решение

Проблемы в этой строке:

$.post(link + "admin/admin_cat/cat_level_3", {cat_level_1:cat_level_1}, function(data) {

Проблема в том, что вы используете var "cat_level_1" значение в обоих местах и ​​при попытке прочитать пункт в php вы не получите его.

Я думаю, что вы должны процитировать ключ cat_level_1. поэтому код должен быть:

$.post(link + "admin/admin_cat/cat_level_3", {"cat_level_1":cat_level_1}, function(data) {

попробуйте это, если это работает для вас.

0

Другие решения

Проблема в этой линии
var link ="<?php echo base_url();?>" ;
Вы не можете сделать это из JavaScript, если у вас настроены виртуальные хосты, вы можете сделать это window.location.origin + "/admin/admin_cat/cat_level_2"

0

Хорошо, здесь может быть ошибка.

cat_level_2: cat_level_1

Сделай это

cat_level_2: cat_level_2

во втором js.

0

Вы не можете написать php-код внутри js-файла. Так что эта строка не будет работать.

 var link ="<?php echo base_url();?>" ;

попробуйте добавить эту строку в ваш основной файл представления (заголовок), прежде чем включать файлы JavaScript

 <script type="text/javascript">
var link ="<?php echo base_url();?>" ;
</script>
0
По вопросам рекламы [email protected]