【问题标题】:Option Menu with 2 Values带有 2 个值的选项菜单
【发布时间】:2016-07-21 13:41:47
【问题描述】:

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

<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 或电子邮件插入单个字段,则在表中。插入时,两个字段都是空白的。任何帮助将不胜感激。

【问题讨论】:

    标签: javascript php mysql


    【解决方案1】:

    而不是在下拉值中组合 staffname 和 staffemail。请在下拉列表值中的人员名称和下拉列表属性中的人员电子邮件,并在下拉列表的 onchange 中将这些值设置在隐藏输入中,以便您在表单提交时轻松获取这些值。 请浏览下面的代码,如果您有任何疑问,请告诉我。

    //下拉菜单

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

    【讨论】:

    • 脚本应该放在哪里?身体标签下方,上方?在结束正文标记之上还是之下?
    • 你可以把它放在标签或者结束body标签之前。
    • 请查看更新后的答案。我也发布了小提琴链接。
    • 需要几个小时才能检查。我不得不离开现场。感谢您的回复。
    • 好的,慢慢来。但是,如果它可以正常工作,请不要忘记投票。 ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-01
    • 1970-01-01
    • 2013-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多