获取多个PhP生成复选框的结果,并仅在

时间:2016-05-03 15:10:50

标签: php jquery

请原谅我缺乏理解,但我是PhP的新手。 我被告知这是一项简单的任务,但只有当你知道如何而且我根本不知道如何时,它才会很简单。

基本上我为一个简单的SQL数据库中的项目生成了一系列复选框。这是PhP代码:

      <select id="multi-select1" multiple="multiple">
            <?php
                //The query asking from our database
                $areaCodeSQL = "SELECT ac.Number AS `AreaCode`, ac.Name AS `AreaName`
                                FROM `AreaCodes` ac";                                                               //SQL query: From the table 'AreaCodes' select 'Number' and put into 'AreaCode', select Name and put into 'AreaName'

                $areaCodeResults = $conn->query($areaCodeSQL);                                                      // put results of SQL query into this variable

                if ($areaCodeResults->num_rows > 0) {                                                               // if num_rows(from $results) is greater than 0, then do this:
                    // output data of each row
                                foreach($areaCodeResults as $areaCodeResult)                                        //for each item in $areCodeResults do this:
                                    {
                                        $areaNameAndCode =  $areaCodeResult['AreaCode'] ." ". $areaCodeResult['AreaName'];  //get AreaCode and AreaName from query result and concat them
                                        $areaName = $areaCodeResult['AreaName'];                                    // get AreaName
                                        $areaCode = $areaCodeResult['AreaCode'];                                    //get AreaCode

                                        ?><option class="menuoption1" name="menuAreaCode" value="<?php echo $areaCode ?>"><?php echo $areaNameAndCode; ?></option><?php  //Create this option element populated with query result variables
                                    }
                }                    
            ?>
        </select>   

现在我相信我可以编写一个这样的jQuery脚本来显示被调用的&#34; showResults&#34;中的$ areaCode变量:

 <script>
    function myFunction() {
        document.getElementById("showResults").text = "<?php echo $areaCode ?>";
    }

    $("menuoption1").each(myFunction());

</script>

但它没有,我也不知道为什么。有人可以帮忙吗?

3 个答案:

答案 0 :(得分:2)

您不能在JavaScript中使用PHP代码。第一个在服务器上执行,第二个(在本例中)在浏览器中执行。

我想你想用Id&#34; showResults&#34;在DOM元素中显示所选区域代码。 (可以是<div>)。

然后,您应该在更改选择框时注册事件处理程序:

$("#multi-select1").on("change", function () {
    $("#showResults").text($(this).val());
});

请参阅https://jsfiddle.net/sqo9x42k/

答案 1 :(得分:0)

似乎你的jQuery选择器并不正确​​。改变

$("menuoption1").each(myFunction());

$(".menuoption1").each(myFunction());

请注意&#34;。&#34;

有关选择器的更多信息:https://api.jquery.com/category/selectors/

答案 2 :(得分:0)

如果您的目标是使用jQuery显示所选选项,则可以使用:

<script>
$(document).ready(function() {
    $(".menuoption1 option:selected").each(myFunction);
});
function myFunction() {
    $("#showResults").append($(this).val() + '<br>');
}
</script>
<form>
<select name="zob" class="menuoption1" multiple>
<option value="234">uyt</option>
<option value="422" selected>qdwd</option>
<option value="2">iyti</option>
<option value="345" selected>tbb</option>
</select>
</form>

参见jsFiddle:https://jsfiddle.net/ahh02dsv/