[英]dynamic change of subcategory select options according to option selected in this subcategory
我现在所拥有的:
1)31june.html
2)32june.php
我有一个表“珠宝”,其结构如下:
ID
品牌(varchar)类型(varchar)
模型(VARCHAR)
集合(VARCHAR)
描述(文本)
代码(VARCHAR)
URL(VARCHAR)
可用(INT)
第一个文件31june.html是一个选择框,其中列出了类型(耳环,项链,手表),根据我们选择的类型,脚本会将选定的类型发送到第二个文件32june.php。
32june.php将做另一件事:
1)查询:
$sql='SELECT collection FROM jewelry WHERE type = ?'
2)回显另一个带有查询($ sql)的选择框。
例如,我在选择框耳环中选择了一个,在DB珠宝表中将选择所有带有耳环类型的集合,这个集合将作为一个选项显示在新的选择框中。
我想要的是:我需要选择类型,然后将根据类型显示带有集合的选择框,然后我要在生成的选择框中选择集合,然后根据它,用另一个选择选项替换它(此集合名称),或者例如,新的结果我想显示在此选择框中。
例如:
类型:耳环->带有选择选项值coll1的生成的选择框
我选择coll1。
我希望将coll1替换为新日期。
<script type="text/javascript">
$(document).ready(function(){
$('#type').on("change",function () {
var chosen= $(this).find('option:selected').val();
$.ajax({
url: "31june.php",
type: "POST",
data: "chosen="+chosen,
success: function (response) {
console.log(response);
$("#ajdiv2").html(response);
},
});
});
});
</script>
<div id="ajdiv">
<select name="type" id="type">
<option>Select Type</option>
<option value="earrings">Earrings</option>
<option value="necklace">Necklace</option>
<option value="watches">Watches</option>
</select>
</div>
<div id="ajdiv2"></div>
<?php
$chosen = $_POST['chosen'];
function mm ($chosen){
$host="xxxx";
$pass="xxxx";
$user="xxxx";
$db="xxxx";
$connect ="mysql:host=$host;dbname=$db";
$pdo = new PDO($connect, $user, $pass);
$sql1='SELECT collection FROM jewelry WHERE type = ?';
$stmt = $pdo->prepare($sql1);
$stmt->execute(array($chosen));
foreach($stmt as $val){
$select = '
<select name="users" id="yol" onchange="showUser(this.value)">
<option value="">Select Collection:</option>
<option value="collection">
' . $val['collection'] . '</option>
</select>';
echo $select;
}
}
echo mm($chosen);
您的循环可能有问题,您正在创建多个选择元素。 尝试更改为:
$select = '
<select name="users" id="yol" onchange="showUser(this.value)">
<option value="">Select Collection:</option>
';
foreach($stmt as $val){
$select = $select . '
<option value="collection">
' . $val['collection'] . '</option>';
}
$select = $select . '</select>';
echo $select;
然后,您可以实现showUser()或为其创建另一个更改处理程序,就像输入type一样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.