Php 如何使用选择向JavaScript发送多个值?
我目前正在构建一个小的输入表单,用户将在其中输入业务单元类别下的子类别。在php主页面上有一个表。第一个命令提示用户通过下拉菜单选择业务部门。我有一个JS函数,它接受该值,并将其传递到另一个页面,然后提示用户进行另一个选择。用户可以选择添加子类别或更新现有子类别。我想使用相同的onchange事件发送第二个下拉列表中的值以及上一页传递的变量。请参阅下面的代码Php 如何使用选择向JavaScript发送多个值?,php,javascript,variables,selection,Php,Javascript,Variables,Selection,我目前正在构建一个小的输入表单,用户将在其中输入业务单元类别下的子类别。在php主页面上有一个表。第一个命令提示用户通过下拉菜单选择业务部门。我有一个JS函数,它接受该值,并将其传递到另一个页面,然后提示用户进行另一个选择。用户可以选择添加子类别或更新现有子类别。我想使用相同的onchange事件发送第二个下拉列表中的值以及上一页传递的变量。请参阅下面的代码 $get_bus=$_GET['bus_id']; $get_cat=mysql_query("SELECT subcat_id, sub
$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>
';
}
我建议您构造一个对象(例如数组),其中包含要在后端使用的变量 我还建议使用POST而不是GET,因为它(出于许多原因,包括在URL中易于操作)更安全(但如果没有高lvl SSL和某种验证,就没有足够的安全性) 我通常使用jQuery和AJAX来执行此行为,类似这样做:
$.ajax(
{
// Post select to url.
type : 'post',
url : 'url/script.php',
dataType : 'json', // expected returned data format.
data :
{
'selectedValueOne' : value1, // the variable 1 you're posting.
'selectedValueTwo' : value2 // the variable 1 you're posting.
},
success : function(data)
{
// Handle what happens after the success, you CAN parse the data object, if you returned an object to work with.
},
complete : function(data)
{
// do something, Optional.
}
});
您可以在不使用jQuery特定符号的情况下执行此操作
在后端,您可以访问如下变量:
$var1 = isset($_POST['selectedValueOne']) ? $_POST['selectedValueOne'] : '';
$var2 = isset($_POST['selectedValueTwo']) ? $_POST['selectedValueTwo'] : '';
确实如此,请将PHP更改为:
echo'
<select id="subcat" name="subcat" class="textinput1" style="width:175px; height: 25px;" tabindex="8" onchange="showSubCategoryThree(this.value,'.$get_bus.');" onfocus="showSubCategoryThree(this.value,'.$get_bus.');" >
<option value = "">Select </option>
<option value = "Add">Add Subcategory</option>
<optgroup label="Update Subcategory Name"></optgroup>
';
第一页(顶部)是在我的另一个JS函数处理从初始下拉选择中获得的值之后。
echo'
<select id="subcat" name="subcat" class="textinput1" style="width:175px; height: 25px;" tabindex="8" onchange="showSubCategoryThree(this.value,'.$get_bus.');" onfocus="showSubCategoryThree(this.value,'.$get_bus.');" >
<option value = "">Select </option>
<option value = "Add">Add Subcategory</option>
<optgroup label="Update Subcategory Name"></optgroup>
';
function showSubCategoryThree(cat_id, get_bus_value) {