2016-11-18 93 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欢迎:) –

相关问题