我有一个从属下拉列表。 sub_cat
取决于parent_cat
同时它也是动态的,用户可以根据需要添加其他内容。
我的问题从这里开始,依赖下拉已经在工作,其中第二个下拉列表sub_cat
依赖于第一个下拉列表parent_cat
中选择的内容。
但是,当我点击Add Process
(添加其他)sub_cat
时。
sub_cat现在是空的。
如何使其工作,如果我点击添加进程,将填充sub_cat也取决于在parent_cat中选择的内容。
这是我的代码: 的index.php
<html>
<head>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/loadScript.js"></script>
<script type="text/javascript" src="js/dynamic.js"></script>
</head>
<body>
<form method="GET" action="input.php">
<label for="category">Parent Category</label>
<?php
echo'<select name="parent_cat" id="parent_cat">';
while($row = $query_parent->fetch()) {
echo '<option value="'.$row['w_id'].'">' . $row['wafer_type'] . '</option>';
}
echo '</select>';
?>
<br/>
<?php
require 'second_dd.php';
?>
<input type="button" name="add_item" value="Add Process " onClick="addMore()" />
<br><br>
<input type="submit">
</form>
</body>
</html>
second_dd.php
<div id="product">
<select name="sub_cat[]" id="sub_cat"></select>
</div>
loadsubcat.php
<?php
include 'db/pdo-connect.php';
$parent_cat = $_GET['parent_cat'];
$query = $conn->prepare("SELECT * FROM process WHERE wafer_id = {$parent_cat}");
$query->execute();
while($row = $query->fetch()) {
echo '<option value="'.$row['p_id'].'">' . $row['process_name'] . '</option>';
}
?>
loadscript.js
$(document).ready(function() {
$("#parent_cat").change(function() {
$(this).after('<div id="loader"><img src="img/loading.gif" alt="loading subcategory" /></div>');
$.get('loadsubcat.php?parent_cat=' + $(this).val(), function(data) {
$("#sub_cat").html(data);
$('#loader').slideUp(200, function() {
$(this).remove();
});
});
});
});
dynamic.js - 这是用于添加第二个下拉列表。
function addMore() {
$("<div>").load("second_dd.php", function() {
$("#product").append($(this).html());
});
}
我的数据库是这样的:
parent_cat
id, category
sub_cat
id, category_id, sub_category
答案 0 :(得分:0)
档案dynamic.php
做了什么?
选择器$("<div>")
不正确,找不到任何元素,.load
函数不会执行脚本。只需加载文件内容。