我有一个供应商列表,我希望对其进行编辑。点击编辑按钮,我被重定向到另一个页面editvendor.php,其中我有我想要编辑的所有参数,但在这个页面我还有2个相互依赖的下拉列表,通过它我可以在scpecific类别下分类每个供应商和子类别。下拉列表的代码是
<script>
$(document).ready(function(){
$('#cat').change(function(){
var catid = $('#cat').val();
if(catid != 0)
{
$.ajax({
type:'post',
url:'fetchsubcat2.php',
data:{id:catid},
cache:false,
success: function(returndata){
$('#subcat').html(returndata);
}
});
}
})
})
</script>
<fieldset>
<label>Category</label>
<select name="catid" id="cat" >
<option value=""> Please select a category </option>
<?php
$sql = "SELECT * FROM category";
$result = mysqli_query($con, $sql);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result))
{
$catname=$row["category"];
$catid=$row["id"];
?>
<option value="<? echo $catid;?>"><? echo $catname;?></option>
<?}
}?>
</select>
</fieldset>
<fieldset>
<label>Sub Category</label>
<select name="subcatid" id="subcat" >
<option></option>
</select>
</fieldset>
fetchsubcat2.php的代码
<?php
require 'connection.php';
$catid = $_REQUEST['id'];
$sql = "SELECT * FROM subcategory where catid='".$catid."'";
$result = mysqli_query($con, $sql);
if (mysqli_num_rows($result) > 0)
{
?><option value="">Select a subcategory</option><?
while($row = mysqli_fetch_assoc($result))
{
$subcatname=$row["subcatname"];
$subcatid=$row["id"];
?>
<option value="<? echo $subcatid;?>"><? echo $subcatname;?></option>
<?}
}
else
{?>
<option value="">No sub category </option>
<?}?>
现在我想要的是,如果供应商已经在一个类别和子类别下,那么代替“请选择一个类别”和“选择一个子类别”,应该显示现有的类别和子类别。 如下所示,代替这个
我想要
之后,如果我想更改类别/子类别,我可以通过单击下拉列表来完成。
表格视图
供应商表
id vendorname catid catname subcatid subcatname 1 ABC 1 C1 3 S3
答案 0 :(得分:1)
对于option
标记(与供应商关联的标记),添加selected
参数以在选择列表中预先选择它。
为此您需要知道供应商实际属于哪个类别,我找不到任何引用该代码的代码,所以只是一个例子和一些猜测: 如果id与vendor-catid匹配,您将获得供应商实际所属类别的ID以及您检查的所有类别的while循环:
<?php
while($row = mysqli_fetch_assoc($result)) {
$catname=$row["category"];
$catid=$row["id"];
?>
<option value="<? echo $catid;?>" <?php echo ( $catid === $vendorcatid ? 'selected' : ''); ?>><? echo $catname;?></option>
<?}