PHP HTML 表单选择选项来填充文本字段 jQuery

php html form select option to populate text field jquery

本文关键字:填充 文本 字段 jQuery 选项 HTML 表单 选择 PHP      更新时间:2023-09-26

我正在编辑一个wordpress插件:

它目前有一个用户的下拉选项列表,基于该用户,我想用该用户的电子邮件填充文本字段。

选择选项下拉列表:

<div>
    <label for="Customer_ID"></label>
    <select name="Customer_ID" id="Customer_ID" />
    <option value='0'>None</option>
    <?php foreach ($Customers as $Customer) { ?>
      <option value='<?php echo $Customer->Customer_ID; ?>'><?php echo $Customer->Customer_Name; ?></option>
    <?php } ?>
    </select>
</div>

客户电子邮件存储在$Customer->Customer_Email

当用户更改所选用户时,我尝试填写以下值:

<div class="form-field">
  <label for="Order_Email"></label>
  <input type='text' name="Order_Email" id="Order_Email" />
</div>

我已经尝试使用以下脚本填充Order_Email,但它只是将值作为customer_id发送。 如何将值更改为电子邮件

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $('#Customer_ID').on('change', function () {
        var selection = $(this).val();
        $('#Order_Email').val(selection);
    });
});
</script>

您可以向选项添加一个标题属性以等于电子邮件值:

在这里玩一下:http://jsfiddle.net/7BUmG/3876/

这可能不是最好的解决方案和黑客,但它应该可以解决问题。 这也将在插件更新后中断

<div>
    <label for="Customer_ID"></label>
    <select name="Customer_ID" id="Customer_ID" />
    <option value='0'>None</option>
    <?php foreach ($Customers as $Customer) { ?>
      <option title='<?php echo $Customer->Customer_Email; ?>'value='<?php echo $Customer->Customer_ID; ?>'><?php echo $Customer->Customer_Name; ?></option>
    <?php } ?>
    </select>
</div>

$(document).ready(function(){
    $('#Customer_ID').change(function() {
    var email = $(this).find("option:selected").attr("title");
    $('#Order_Email').val(email);
});
});