带有2个值的选项菜单

时间:2016-07-21 13:41:48

标签: javascript php mysql

我在表单中有以下选项菜单,将字段插入表中:

<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>

我在How to post two values in an option field?中解释的技术选项的值中有来自源表的2个字段:Staff_Name和Email。

我正在尝试使用以下方法将表单中的两个字段插入到表中:

<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];  
    ?> />

不幸的是,我可以看到由“||”分隔的2个字段在表中,如果我插入选项菜单值但似乎无法将Staff_Name或电子邮件插入单个字段。插入时,两个字段均为空白。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

而不是在下拉值中组合staffname和staffemail。请在下拉列表中输入下拉值和staffemail中的staffname,然后在下拉列表中更改隐藏输入中的值,这样您就可以轻松地在表单提交中获取这些值。 如果您有任何疑问,请通过以下代码告诉我。

//下拉

<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/上查看 出于测试目的,我没有将输入隐藏在小提琴中。