2016-11-18 5 views
0

В форме у меня есть список отраслей, населенных db. Я хочу заполнить список флажков на основе выбранной отрасли.Заполнять флажки на основе выпадающего списка

Я пробовал ниже, но не работал. Помогите пожалуйста. Я все еще участвую в коде и очень ценю вашу помощь.

index.php

// The dropdown is populated from DB 
<select class="set_industry"> 
    <option value="1">Healthcare</option> 
    <option value="2">Food & Beverage</option> 
    <option value="3">Real Estate</option> 
</select> 
// Preferably the selection would produce var $ind_id 
. 
. 
. 
. 
// I want the below to be executed based on the selection from above 

<?php 
if(isset($_POST['id'])) { 
    $ind_id = $_POST['id']; 
    $x="SELECT * FROM srv_tbl WHERE ind_id=$ind_id"; 
    $res=query($x); 

    while ($y=mysqli_fetch_array($res)) { ?> 
    <div> 
    <label> 
     <input type="checkbox" value="<?php echo $y['srv_id'] ?>"> <?php echo $y['srv_name'] ?> 
    </label> 
    </div> 
<?php } 
} ?> 

<script>Link to js script</script> 

script.js

$(".set_industry").on('change', function(){ 
    var ind_id = $(this).attr("value"); 
    $.post("index.php", {id: ind_id}, function()); 
}); 
+0

Какие ошибки вы получаете? – Gacci

+0

Я не получаю никаких ошибок. Я вижу только раскрывающееся меню с опциями. Я даже попытался отменить $ ind_id без успеха. Я думаю, что var не передается обратно через $ _POST – NEWWPDEV

+0

. Я рекомендую прочитать https://developer.wordpress.org/plugins/javascript/ajax/ для лучшего способа настроить ajax call.itll стоит вашего времени, чтобы установите это правильно (я только что закончил доработку старого плагина с этим, и это было больно) – Stevish

ответ

0

Раздельное ваш PHP-код.

index.php

<?php 

if(isset($_POST['id'])) { 

    $ind_id = $_POST['id']; 
    $x="SELECT * FROM srv_tbl WHERE ind_id=$ind_id"; 
    $res=query($x); 

    $returnString = ''; 
    while ($y=mysqli_fetch_array($res)) { 

    $returnString .= '<div><label><input type="checkbox" value=".$y['srv_id'].">.$y['srv_name'].</label></div>'; 
    } 

    echo $returnString; 
} ?> 

добавить новый DIV к вашей HTML странице

index.html

<select class="set_industry"> 
    <option value="1">Healthcare</option> 
    <option value="2">Food & Beverage</option> 
    <option value="3">Real Estate</option> 
</select> 

<div id="response"></div> 

<script>Link to js script</script> 

ли эти изменения в ваш script.js

$(".set_industry").on('change', function(){ 
    var ind_id = $(this).attr("value"); 
    $.post("index.php", {id: ind_id}, function(data){ 

     $("#response").html(data); 
    }); 
}); 
+1

Большое спасибо за вашу помощь. – NEWWPDEV

+0

@NEWWPDEV приветствую :) –

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