我有一个需要填写的表格,它的一个字段是雇员姓名,我从一个名为tbl_employee的数据库表中选择了它的值,每个名字都有存储在同一表中的代号,但是我有一个问题,因为我不知道该使用什么代码来自动填充名为codename的输入字段。以下是我的html代码
<div class="form-group">
<label>Employee Name</label>
<select name="employee" onchange="getEmp(this.value)" class="form-control">
<option value="">Select Employee</option>
<?php foreach($emps as $emp) : ?>
<option value="<?php echo $emp["employee_id"]; ?>"><?php echo $emp["surname"] . ', ' . $emp["firstname"]; ?></option>
<?php endforeach; ?>
</select>
<div class="help-block with-errors"></div>
</div>
<div class="form-group">
<label>Code Name</label>
<input class="form-control" name="codenamer" type="text"/>
<div class="help-block with-errors"></div>
</div>
您的回复受到高度赞赏
答案 0 :(得分:0)
要为输入提供值,请向其添加“值”属性:
<input class="form-control" name="codenamer" type="text" value="<?php echo $emp["codename"]; ?>" />
答案 1 :(得分:0)
您可以在此处使用jQuery:
在option
值中,所有密码名列的第一:
<select name="employee" onchange="getEmp(this.value)" class="form-control">
<option value="">Select Employee</option>
<?php foreach($emps as $emp) : ?>
<option value="<?php echo $emp["codename "]; ?>"> // use codename column in value here.
<?php echo $emp["surname"] . ', ' . $emp["firstname"]; ?>
</option>
<?php endforeach; ?>
</select>
第二,在您的输入字段中添加ID属性:
<input class="form-control" name="codenamer" type="text" id="codenamer" />
大于,您可以使用jQuery在输入字段中添加值:
<script type="text/javascript">
function getEmp(codename){
$("#codenamer").val(codename); // add value to codenamer field.
}
</script>
答案 2 :(得分:0)
如果要执行此操作而无需重新加载页面,则需要Javascript。
首先,将代号添加到使用PHP生成的选项属性中:
<option data-codename="<?= $emp['codename'] ?>" value="<?= $emp["employee_id"]; ?>"><?= $emp["surname"] . ', ' . $emp["firstname"]; ?></option>
然后在JS中,检查所选选项的更改情况,从所选选项中提取代号,并将其data-codename
写入代号输入的值。
类似的事情(使用Jquery):
$('#employee-selector').change(function() {
var selected = $(this).find('option:selected');
var codename = selected.attr('data-codename');
//if the above fails, you may have to use this: (note the [0])
//var codename = selected[0].attr('data-codename');
$('#codenamer').val(codename);
});
这要求您将id='employee-selector'
放在选择元素上,并将id='codenamer'
放在代码命名器输入字段上。
答案 3 :(得分:0)
此问题已解决。我只是改写上面给出的代码。
<script type="text/javascript">
function getEmp(codename){
var res = codename.split(" ", 1 );
document.getElementById("codenamer").value=res;
}
</script>
呼叫者进入我的输入字段
id="codenamer"
感谢所有受访者。