javascript - 如何根据类别填充子类别
问题描述
我正在研究一种表格,其中子类别是根据类别决定的,但类别和子类别都是从数据库中获取的。早些时候,当数据库不参与其中时,我使用了 javascript populate 方法来处理相同的数据,因此我试图将用于从数据库中获取子类别的代码包含在其中。这是我到目前为止的代码
<label>Job Category*</label>
<?php
$dataset = $objCmn->getCat(); \\for getting category from database
?>
<select id="jb-category" class="form-control" name="jb_category" onchange="populate(this.id, 'sub-category')" required>
<option>Choose Category</option>
<?php
foreach ($dataset as $key => $cat) {
echo '<option value="' . $cat['maincategory_name'] . '">' . $cat['maincategory_name'] . '</option>';
}
?>
</select>
<label>Sub Category*</label>
<select id="sub-category" class="form-control" name="sub_category" required>
</select>
基于类别填充子类别的函数
function populate(s1, s2)
{
var s1 = document.getElementById(s1);
var s2 = document.getElementById(s2);
s2.innerHTML = "";
var categoryValue = s1.value;
alert(categoryValue);
document.writeln(categoryValue);
<?php $category_name = "<script>document.writeln(categoryValue)</script>";
$categoryName = $objCmn->getSubCategory($category_name);
foreach($categoryName as $key=>$row)
{
?>
var optionArray = ["<?php $row['cat_name'] ?>|<?php $row['cat_name'] ?>",];
<?php
}
?>
for (var option in optionArray)
{
var pair = optionArray[option].split("|");
var newOption = document.createElement("option");
newOption.value = pair[0];
newOption.innerHTML = pair[1];
s2.options.add(newOption);
}
}
</script>
有没有其他方法可以将 php 代码嵌入到 JS 中。以前我曾尝试在 php 标记之前关闭脚本标记并在 php 关闭标记之后打开相同的标记,但它也不起作用。
解决方案
推荐阅读
- html - 有没有办法让一个网格单元使用最大内容,而另一个相应地拉伸?(同一行的单元格)
- python - 创建任意长度的嵌套字典
- curl - Paypal Marketplace Platform - 如何实施合作伙伴费用?
- git - 如何在 Jenkins 中通过 VPN 拉取/克隆 git 存储库?
- visual-studio-code - 在 Visual Studio Code 上安装 C/C++ Snippets 扩展时出错
- c++ - ++i in for 循环比 i++ for int 快吗?C++
- javascript - 将html代码转换为java脚本字符串格式
- java - 如何将按钮与垂直搜索栏拇指对齐?
- orchardcms - 为所有租户导入相同的 XML 配方
- javascript - 我想使用这两个事件进行搜索: Keypress 和 Mouse click 但它们似乎没有一起工作