2013-03-13 1 views
1

В следующем Php-коде я хотел бы получить доступ к значениям, хранящимся в моей переменной $ val, из моего сценария jQuery, чтобы иметь возможность отправлять ajax-вызов. Для каждой строки таблицы значение $ val будет содержать уникальные значения, мне нужно получить доступ к уникальным значениям , которые можно отправить на мой запрос.Как получить доступ к данным php в JQuery?

   <?php 
       if($batch_query != null){ 
        $i = 0; 
        foreach($batch_query->result_array() as $row){ 
        $val = "'".$row['course_id'].",".$row['center_id'].",".$row['batch_id']."'";//These values are coming from the server side and I need to send it to the controller for the Ajax. 
        echo "<tr>"; 
         echo "<td>".$row['course_name']."</td>"; 
         echo "<td>".$row['center_name']."</td>"; 
         echo "<td>".$row['batch_name']."</td>"; 
         echo "<td>"."<button id= \"btnnumber_$i\" class='btn info toggler' value=$val>Show Info <i class='icon-arrow-down'></i></button>"."</td>";// here I am using the value attribute and assigning it the value $val. 
        } 
       } 
        ?> 

Вот мой JQuery

 $(function(){ 
      $.post('/path /to/ my /controller', {value: $val}).done(function(data){ 

     }); 
     }); 

     How to get those values in the $val ? 

Любая помощь будет высоко оценен.

+0

Это просто строку правильно? – Samy

+0

$ .post ('/ path/to/my/controller', {значение: }) – Pete

+0

@Samy да, это просто строка. –

ответ

2

Я изменил бы кнопку, так что ставит $val в данных атрибутов, как так:

"<button id=\"btnnumber_" + $i +"\" class=\"btn info toggler\" data-value=\"" + $val + "\">Show Info <i class=\"icon-arrow-down\"></i></button>" 

, то я бы изменить JQuery на что-то вроде

$('button').click(function() { 
    $.post('/path /to/ my /controller', 
    {value: $(this).data('value')}).done(function(data){ 

    }); 
}); 

Вот скрипка пример кнопки мыши, получить атрибут данных значения: http://jsfiddle.net/T7cJR/

+0

это будет отправлять уникальные значения, даже если на каждую кнопку нажимается несколько строк. –

+0

это отправит уникальное значение каждой строки, поскольку оно отправляет $ val, связанную с строкой, - глядя на ваш исходный цикл foreach, вы помещаете $ val в каждую кнопку – Pete

+0

Да Pete Я хочу связать уникальный $ val каждой кнопке в строке и хотел бы отправить эти значения с помощью $ .post() внутри функции нажатия кнопки. –

1

Напишите их на странице как переменную javascript.

+0

Как это сделать, извините, что я новичок. Пожалуйста, не возражайте. –

+1

Google - ваш друг. – Tetaxa

+0

Конечно. Но я тоже считаю тебя другом. –

6

лучший способ в JQuery есть ..

$(function(){ 
    var btnvalue=$('button.info').attr('value'); 
    $.post('/path /to/ my /controller', {value: btnvalue}).done(function(data){ 

    }); 
}); 

и простые (что невозможно, если у вас есть раздельный .js файл) ...

var btnvalue= <?php echo $val ?> 
$.post('/path /to/ my /controller', {value: btnvalue}).done(function(data){ 

    }); 
+0

спасибо, что бы вы хотели уточнить, почему это лучше, чем обычный , Пожалуйста. Спасибо –

+0

Я упомянул об этом в своем ответе ... ..если ваш скрипт находится в отдельном файле .js say script.js ...вам не будет разрешено использовать '' там ... :) .. (хотя в вашем случае это похоже, что у вас есть скрипт в том же файле), сначала он будет работать, даже если ваш скрипт находится в отдельном файле ... .. – bipen

+0

Мои php и Jquery находятся на одной странице, и раньше я также делал то же самое . Но тот, кто просмотрел мой код, говорит, что это вызовет ошибку. –

1

Если JQuery находится в на той же странице вы можете использовать ниже.

$(function(){ 
     $.post('/path /to/ my /controller', 
     {value: <?php echo $val?>}).done(function(data){ 

    }); 
    }); 
+0

Если ваш почтовый вызов находится в отдельном файле. Вы можете сохранить значения в скрытом значении и вызвать получить значение, пока вы вызываете $ .post – Samy

+0

, если есть это несколько строк в таблице, тогда мне сказали (и это меня путало), что $ val будет содержать значение последней строки. –

+0

Какое значение вам нужно? Вам нужны все данные о строках, которые нужно отправить? – Samy

1

Используйте это так: <?php echo $val; ?>

$.post('/path /to/ my /controller', {value: <?php echo $val; ?>}).done(function(data){ 

Вам необходимо присвоить значение этой переменной до этой линии.

1

Напишите код, чтобы получить все значения в переменной $ var. Затем в конце страницы внутри сценария тега, напишите это

$(function(){ 
      $.post('/path /to/ my /controller', {value: <?php echo $val ?>}).done(function(data){ 

      }); 
}); 
1

вы можете сохранить данные как тр атрибут обращаться к нему с JQuery:

<?php 
if($batch_query != null){ 
    $i = 0; 
    foreach($batch_query->result_array() as $row){ 
     $val = "'".$row['course_id'].",".$row['center_id'].",".$row['batch_id']."'";//These values are coming from the server side and I need to send it to the controller for the Ajax. 
     echo "<tr id='".$val."'>"; 
     ...   
+1

Спасибо Алиреза. Это было полезно. –

Смежные вопросы