2015-10-22 2 views
0

Я хочу, чтобы получить идентификатор из списка DropDownMenu с помощью JQuery и функция установлена ​​получить идентификатор выбранного индекса с помощью набора JQuery и прут

var c = document.getElementById("dropdown1"); 
var id= parseInt(c.selectedIndex) ; 

, но я хочу, чтобы получить идентификатор с помощью этого метода

{% set id=parseInt(c.selectedIndex) %} 

, но не работает

на самом деле это мой реальный проблематичный: у меня есть список меню drowpdown генерируемый и сущность

->add(
      'predefinedMessage', 
      'entity', 
      array(
       'empty_value' => 'Ajouter un message Prédéfini', 
       'class' => 'MyBundle:PredefinedMessage', 
       'property' => 'name', 
       'multiple' => false, 
       'error_bubbling' => true, 
       'required' => false, 
       'query_builder' => function (EntityRepository $er) use ($user) { 

        return $er->createQueryBuilder('u') 
         ->where('u.user = :user') 
         ->setParameter('user', $user); 

       }, 

      ) 

предприятие сообщение имеет много поля, такие как: идентификатор, сообщение, имя

enter image description here

так в JQuery, я хочу, чтобы получить значение сообщения выбранного индекса

мой код в jquery выглядит следующим образом:

var c = document.getElementById("predefinedMessage"); 

    var id= parseInt(c.selectedIndex) ; 

    var text= "{{ form.predefinedMessage.vars.choices[id].data.message }}"; 

но всегда у меня ошибка, и идентификатор не определен.

любая помощь, пожалуйста, по этой проблеме

+0

'$ ('# dropdown1 option: selected'). Val()'? – Tushar

+0

Я хочу получить идентификатор, используя набор, подобный {% set id = parseInt (c.selectedIndex)%} –

+0

У вас есть свои понятия действительно, действительно неправильно. Вы пытаетесь смешать ветки и javascript. Первый выполняется на сервере, а второй - в клиентском браузере. Можно сгенерировать что-то с веточкой, которая будет использоваться javascript, но не может быть возможным наоборот. К тому моменту, когда код javascript запускается, код ветки уже выполнен на сервере. –

ответ

0

Как указано в комментариях, что невозможно получить значение из JavaScript обратно в шаблон веточку, так как шаблон веточка визуализируется и результат посылается клиенту и только то в результате будет создан javascript.

Теперь, если вам просто нужно отобразить начальное значение значения поля выбора (значение, которое предварительно выбрано при загрузке страницы), вы можете получить доступ к этому в ветке без необходимости использования javascript. См. this вопрос о том, как это сделать.

Если вам нужно, чтобы выбранное значение динамически менялось, когда пользователь выбирает что-то другое, вы должны использовать javascript или jquery, но вы не можете передать значение обратно переменной веточки, вы должны вставить ее где-нибудь в DOM с помощью jQuery. Если вы хотите, чтобы это обновление динамически, вам нужно поместить этот код в обработчик события «change».

var selectBox = $("#id_of_your_select_box"); 
selectBox.change(function(){ 
    var selectedValue = selectBox.val(); 
    $("#id_of_where_the_value_is_displayed").text(selectedValue); 
}); 
+0

thnak вам очень понравился ваш ответ, я решил свою проблему с помощью ajax, сначала я получаю идентификатор выбранный параметр, а затем я использую ajax для получения значения поля сообщения в предопределенном объекте Message. Если вы посмотрите в виде формы, вы увидите, что я добавил объект как поле. поэтому, когда я выбираю вариант, например 1, я должен получить значение этого объекта. моя сущность имеет 3 поля: id, name, message. поблагодарить –

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