我目前正在构建一个小型输入表单,用户将在其中输入业务单位类别下的子类别。在主 php 页面上有一个表格。第一个提示用户通过下拉菜单选择业务单位。我有一个 JS 函数,它获取值,并将其传递到另一个页面,然后提示用户进行另一个选择。用户可以选择添加子类别或更新现有子类别。我想使用相同的 onchange 事件来发送第二个下拉列表中的值以及从上一页传递的变量。请参阅下面的代码。
$get_bus=$_GET['bus_id'];
$get_cat=mysql_query("SELECT subcat_id, subcat_name FROM subcategories WHERE bus_id='{$get_bus}' ORDER BY subcat_name ASC");
$dept_count = mysql_num_rows($get_cat);
if($dept_count==true)
{
echo'
<select id="subcat" name="subcat" class="textinput1" style="width:175px; height: 25px;" tabindex="8" onchange="showSubCategoryThree(this.value);" onfocus="showSubCategoryThree(this.value);" >
<option value = "">Select </option>
<option value = "Add">Add Subcategory</option>
<optgroup label="Update Subcategory Name"></optgroup>
';
while(($cat = mysql_fetch_assoc($get_cat)))
{
echo '
<option value="'.$cat['subcat_id'].'">'.$cat['subcat_name'].'</option>
';
}
echo '
</select>
</div>
';
}
下面是我当前的 JavaScript 代码。请告知是否可以将 $get_bus 与 this.value 一起发送。
function showSubCategoryThree(cat_id)
{
if (subcat_id=="")
{
document.getElementById("DeptContainer").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("DeptContainer").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","/includes/adminPages/selectCatDept.php?cat_id="+cat_id,true);
xmlhttp.send();
}