2016-01-28 1 views
1

Работы с Twig и PHP, у меня есть три основных DIV в моих страницах HTML:нагрузки в двух различных DIV на ту же странице в том же образом

<select class="form-control" id="choice" name="form[choice]"> 
    <option value="" disabled selected>make a choice</option> 
    <!-- here the path variable matches with an url --> 
    <option value="{{ path('get_data_by_choice', {'slug': variable.slug}) }}"> 
    {{ variable.name }} 
    </option> 
</select> 

<div id="showOption"></div> 

<div id="showCategory"> 

По сценарию JQuery я вернуть содержимое страницы в DIV (здесь, в <div id="showOption"></div)

Посмотрите на сценарий:

<script> 
    $('#choice').change(function() { 
     var url = $(this).val(); 
     $.get(url , {} , function(showAvailableConfig) { 
      $("#showOption").html(showAvailableConfig)); 
     }) 
    }); 
</script> 

Так что возвращает меня все содержимое страницы с URL совпадает с переменной {{ path('get_data_by_choice', {'slug': variable.slug}) }} в div с id="ShowOption".

Это содержание страницы, которую я загрузить с помощью сценария:

<div id="content1"> some content1 here </div> 

<div id="content2"> some other content2 here </div> 

В самом деле, с таким же сценарием, я хотел бы добавить, заполнить div id="showOption"сdiv id="content1"и в div id="showCategory"сdiv id="content2", выбрав одно значение в моем первоначальном теге select.

Как я могу продолжить?

+0

Если я понимаю, что вы хотите заполнить два divs в зависимости от выбора, сделанного на двух тегах 'select'? каждый тег 'select' соответствует' div'? –

+0

@MarkE Я хочу заполнить два div на выбор, сделанный одним выбором. –

+1

О, я думаю, что я понял, что вызов ajax возвращает два 'div' в один и тот же вызов, поэтому вы хотите разделить их, чтобы поместить их в разные места, так ли это? –

ответ

1

Вы можете создать объект jQuery с новыми данными, чтобы вы могли отфильтровать div s, а затем добавить их.

<script> 
    $('#choice').change(function() { 
     var url = $(this).val(); 
     $.get(url , {} , function(showAvailableConfig) { 
      var newContent = $(showAvailableConfig); 
      $("#showOption").html(newContent.filter("#content1")); 
      $("#showCategory").html(newContent.filter("#content2"))); 
     }) 
    }); 
</script> 
+0

это почти что, но с этим скриптом только '# showCategory' заполняется' # content2', ничего не отображается для div '# showOption' –

+0

, вы уверены, что сервер возвращение завершено? попробуйте запустить var newContent на консоли. Там вы можете быстро попробовать фильтры и селекторы –

+0

извините мою ошибку, ваш ответ хороший. У меня есть ошибка синтаксического разбора на странице, которую я хочу загрузить, попробовав другое решение во время вашей попытки! –

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