Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取多个PhP生成的复选框的结果,并仅在下面显示选中的复选框_Php_Jquery - Fatal编程技术网

获取多个PhP生成的复选框的结果,并仅在下面显示选中的复选框

获取多个PhP生成的复选框的结果,并仅在下面显示选中的复选框,php,jquery,Php,Jquery,请原谅我不了解PhP,但我对PhP是新手。 我被告知这是一项简单的任务,但只有当你知道怎么做而我不知道怎么做时,这才是简单的 基本上,我为一个简单的SQL数据库中的项生成了一系列复选框。以下是PhP代码: <select id="multi-select1" multiple="multiple"> <?php //The query asking from our database

请原谅我不了解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选择器不正确。改变

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

请注意“.”


有关选择器的更多信息:

您使用的jQuery选择器似乎不正确。改变

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

请注意“.”


有关选择器的更多信息:

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

我假设您希望在Id为“showResults”(可以是
)的DOM元素中显示选定的区号

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

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

请参见

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

我假设您希望在Id为“showResults”(可以是
)的DOM元素中显示选定的区号

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

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

请参见

如果您的目标是使用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>

$(文档).ready(函数(){
$(“.menuoption1选项:选中”)。每个(myFunction);
});
函数myFunction(){
$(“#showResults”).append($(this.val()+'
); } uyt qdwd 伊蒂 待定

请参见JSFIDLE:

如果您的目标是使用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>

$(文档).ready(函数(){
$(“.menuoption1选项:选中”)。每个(myFunction);
});
函数myFunction(){
$(“#showResults”).append($(this.val()+'
); } uyt qdwd 伊蒂 待定

请参见JSFIDLE:

您的选择器错误。它应该是:
$(“.menuoption1”)
-将
用作前缀,以便jquery和DOM知道它是一个类名。。。。您的myFunction()调用将仅用PHP获取的$areaCode的最后一个值替换showResults中的文本。正如Joachim Schirrmacher所提到的,您正在混合服务器端和客户端。下面的答案之一是否有帮助?那么请标记它或告诉我们缺少什么。您的选择器错误。它应该是:
$(“.menuoption1”)
-将
用作前缀,以便jquery和DOM知道它是一个类名。。。。您的myFunction()调用将仅用PHP获取的$areaCode的最后一个值替换showResults中的文本。正如Joachim Schirrmacher所提到的,您正在混合服务器端和客户端。下面的答案之一是否有帮助?然后请标记它或者告诉我们,遗漏了什么。是的,就像我在评论中说的。但是如果这是OP代码中唯一的问题,我今天就不会吃午饭了。是的,就像我在评论中说的。但是如果这是OP的代码中唯一的问题,我今天就没有午餐了。好答案,还有@Liam在
if($areaCodeResults->num_rows>0)
中包装你的标签,以避免创建空的选择列表好答案,也@Liam在
if($areaCodeResults->num_rows>0)
中包装你的标签,以避免创建空的选择列表