我正在编辑一个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);
});
});