2013-09-07 2 views
-3

Я хочу использовать переменную в моем JS-коде, но мне не удалось. Я попробовал несколько вещей, которые я нашел здесь, но не работал.Переменная Echo PHP в Javascript

Я должен использовать это в Javascript; option-<?php echo $option['product_option_id']; ?>

Вот мой Javascript:

<script type="text/javascript" > 
    $("#series").chained("#mark"); 

</script> 

мне нужно использовать мою переменную вместо #mark

Edit: я хочу использовать прикован JQuery с этой переменной. Я должен использовать эту переменную. Просто мне нужно удалить #mark и поместить мою переменную.

Спасибо!

+4

«Я попробовал несколько вещей, которые я нашел здесь, но не работал» - о чем? Что значит «не работает»? Чего вы ожидали? Что на самом деле произошло? – Quentin

+0

Что такое опция - ? Сообщите мне свой код? –

+1

Я думаю, что этот вопрос похож на вашу проблему. http://stackoverflow.com/questions/1808108/how-to-access-php-variables-in-javascript-or-jquery-rather-than-php-echo-vari – mic4ael

ответ

0

Может быть, вы хотите

$("#series").chained('# + "<?php echo $option['product_option_id'];?>"'); 
+0

Да Мне нужно что-то подобное, но не это, потому что этот не работает с прикованным jQuery (http://www.appelsiini.net/projects/chained) – birlikbilisim

0

Вы должны пройти целые объекты, чтобы они могли быть переданы через вызов AJAX, если это необходимо.

Например, на стороне PHP создайте массив (или стандартный объект). Затем используйте json_encode.

В PHP:

$my_js_container = array(
    'variable_1' => 'value 1', 
    'variable_2' => 'value 2' 
); 

На шаблоне:

<script> 
    var php_vars = <?php echo json_encode($my_js_container); ?>; 

    alert(php_vars.variable_1); 

    //or 

    $("#series").chained("#" + php_vars.variable_2); 
</script> 

В этом примере вы напечатав json_encode строку страницы. Однако вы можете так же легко вернуть json_encode с определенного URL-адреса, который вы загружаете из вызова AJAX. Я вижу, что вы используете JQuery, так что с помощью JQuery, вот пример того, как загрузить переменную со стороны клиента (что делает запрос на стороне сервера):

http://api.jquery.com/jQuery.getJSON/

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

0
<?php $option['product_option_id'] = "some value"; ?> 

<script type="text/javascript" > 
var i = "<?php echo $option['product_option_id']; ?>" 
$("#series").chained("i"); 

</script> 

Это должно работать

0
<script type="text/javascript" > 
    var v = <?php echo $option['product_option_id']; ?>; 
    $("#series").chained("'#"+v+"'"); 
</script>