2016-05-03 25 views
0

下面的选中部分请原谅我缺乏理解,但我是PhP新手。 我被告知这是一个简单的任务,但只有当你知道如何和我根本不知道如何。获取几个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这样的脚本,以显示在一个名为“showResults的” $ AREACODE变量:

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

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

</script> 

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

+0

你的选择器是错误的。它应该是:'$(“。menuoption1”)''''用作前缀,所以jquery和DOM知道它是一个类名。 –

+0

...和您的myFunction()调用将取代showResults中的文本,只有PHP获取的$ areaCode的最后一个值。正如Joachim Schirrmacher所提到的,你在混合服务器端和客户端。 – Webomatik

+0

下面的答案是否有帮助?然后请标记或告诉我们,缺少的是什么。 –

回答

2

不能在JavaScript中使用PHP代码。第一个在服务器上执行,第二个(在这种情况下)在浏览器中执行。

我想你想显示所选的区域代码在一个DOM元素与Id“showResults”(这可能是一个<div>)。

您应该然后注册在选择框的变化的事件处理程序:

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

https://jsfiddle.net/sqo9x42k/

+0

好的答案,也@Liam在'if($ areaCodeResults-> num_rows> 0)'中包装你的