2016-07-13 6 views
0

Project Background: У меня есть действующая форма поиска, которая имеет 5 зависимых выпадающих списков, которые необходимы для детализации данных. Первая переменная dim_id выбрана на моей странице product_request, а OnChange отправляет переменную в мой обработчик ajax, чтобы заполнить следующий выбор cap_id соответствующими данными. Это продолжается, назад и четвертое, пока не будут выбраны 5 параметров, и шестой блок productnumber активируется только одним вариантом.Использование переменной URL для активации первой опции в зависимом выпадающем списке и приглашение OnChange

В целом, он отлично функционирует, если кто-то попадает на эту страницу холодным.

Где я врезался в стену: Теперь мы хотим, чтобы иметь возможность прийти на эту страницу, несущей dim_id в URL со страницы родительского продукта, поэтому они могут выбирать свои варианты, используя другие четыре падение падения.

То, что я думаю, что должно произойти, это dim_id должен быть построен в URL, как это:

product_request.php?dim_id=1 

И как прыгать начать этот процесс, как это:

1) Создание правильного выбора в первое падение вниз

2) Автоматическое наведение на OnChange события идти в мой обработчик Ajax для заполнения второго блока выбора cap_id с соответствующими данными

Извините, у меня нет фрагментов кода, я, честно говоря, понятия не имею, где даже начать делать эту функцию.

+0

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

ответ

0

Помните, что это одно из возможных решений. Вы предложили использовать параметры URL для передачи данных, что является хорошей идеей. В PHP параметры URL-адреса доступны через суперклассу $_GET.

В строке примера, http://example.com/product_request.php?dim_id=1, вы можете получить доступ к параметру, обратившись к $var = $_GET["dim_id"]. Если этот параметр был установлен, вам нужно добавить этот параметр в первый флажок, просто повторив его с помощью PHP или прокрутив список и выбрав его с помощью Javascript. Затем вы можете выдать код Javascript, вызывающий обработчик onChange для поля выбора, как если бы он был выбран. Это заставит его заполнить второе поле со значениями. Грубый проект может выглядеть следующим образом:

<?php 
    $have_dID = false; 
    if (isset($_GET["dim_id"])) { 
     $dID = $_GET["dim_id"] 
     $have_dID = true; 
    } 
?> 
<script> 
    function someProcessingFunction() { 
     // Make some ajax call based on value of #dim_id select box... 
     // Add options from ajax call to #cap_1 
     // Enable #cap_1 
    } 
</script> 
<select id="dim_1" name="dim_1" onChange="someProcessingFunction()"> 
    <?php 
    if ($have_dID) { 
    ?> 
     <option value="<?php echo $dID; ?>">Parent option</option> 
    <?php 
    } 
    ?> 
    <option value="1">Option 1</option> 
    <option value="2">Option 2</option> 
    <option value="3">Option 3</option> 
</select> 
<select id="cap_1" name="cap_1" disabled="disabled"> 
    <!-- Options to be filled by function --> 
</select> 
<?php 
    if ($have_dID) { 
     ?> 
     <script> someProcessingFunction() </script> 
     <?php 
    } 
?> 
+1

с этим в качестве отправной точки, я создал простое (для меня) решения, используя эту переменную в URL-адресе в инструкции выбора первого выпадающего списка, чтобы вернуть один результат, который по-прежнему требует, чтобы конечный пользователь «выбирал» его. Это вызывает функцию, которая заполняет следующий снимок, и все остальное работает соответствующим образом. Работает как шарм. спасибо – Gina

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