请原谅我缺乏理解,但我是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>
但它没有,我也不知道为什么。有人可以帮忙吗?
答案 0 :(得分:2)
您不能在JavaScript中使用PHP代码。第一个在服务器上执行,第二个(在本例中)在浏览器中执行。
我想你想用Id&#34; showResults&#34;在DOM元素中显示所选区域代码。 (可以是<div>
)。
然后,您应该在更改选择框时注册事件处理程序:
$("#multi-select1").on("change", function () {
$("#showResults").text($(this).val());
});
答案 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/