我在表单中有以下选项菜单,可以将字段插入表中:
<option value="">select staff</option>
<?php
do {
?>
<option value="<?php echo $row_Staff['Staff_Name']."||".$row_Staff['Email']?>">
<?php echo $row_Staff['Staff_Name']?></option>
<?php
} while ($row_Staff = mysql_fetch_assoc($Staff));
$rows = mysql_num_rows($Staff);
if($rows > 0) {
mysql_data_seek($Categories, 0);
$row_Staff = mysql_fetch_assoc($Staff);
}
?>
</select>
在如何在选项字段中发布两个值?中解释的技术中,我有两个来自源表的选项值字段:员工姓名和电子邮件。
我正在尝试使用将表单中的两个字段插入到表中
<input type="hidden" name="Staff_Name" class="form-control" id="Staff_Name" value=<?php
$staff =$_POST['Staff_Data'];
$staff_name = explode("||", $staff);
echo $staff_Name[0];
?> />
和
<input type="hidden" name="Email" class="form-control" id="Email" value=<?php
$staff =$_POST['Staff_Data'];
$email = explode("||", $staff);
echo $email[1];
?> />
不幸的是,如果我插入选项菜单值,但似乎无法在各个字段中插入Staff_Name或Email,那么我可以在表中看到用"||"分隔的2个字段。插入时,两个字段均为空。如有任何帮助,我们将不胜感激。
不要在下拉值中组合staffname和staffemail。请在下拉列表中输入staffname,在下拉列表的属性中输入staffemail,一旦更改下拉列表,请在隐藏输入中设置这些值,这样您就可以在表单提交中轻松获得这些值。请仔细阅读下面的代码,如果您有任何疑问,请告诉我。
//下拉
<select id="ddStaff">
<option value="">select staff</option>
<?php
do { ?>
<option value="<?php echo $row_Staff['Staff_Name']; ?>" staff-email = "<?php echo $row_Staff['Email'];?>">
<?php echo $row_Staff['Staff_Name']?>
</option> <?php
} while ($row_Staff = mysql_fetch_assoc($Staff));
$rows = mysql_num_rows($Staff);
if($rows > 0) {
mysql_data_seek($Categories, 0);
$row_Staff = mysql_fetch_assoc($Staff);
}
?>
</select>
//输入隐藏字段以存储员工姓名和员工电子邮件
<input type="hidden" id="txtStaffName" name="txtStaffName">
<input type="hidden" id="txtStaffEmail" name="txtStaffEmail">
//Jquery代码。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#ddStaff").on('change',function(){
var staffName = $(this).val();
var staffEmail = $('option:selected', this).attr('staff-email');
$("#txtStaffName").val(staffName);
$("#txtStaffEmail").val(staffEmail);
});
});
</script>
请检查一下https://jsfiddle.net/z4a0fywp/出于测试目的,我没有将输入隐藏在小提琴中。