我试图从数据库中读取值。当我单击selectpicker并基于选择器的EmpId时,我将从表中读取名称和sal,并希望在文本区域中显示名称和sal。
我只能做到这一点:
以下是HTML代码
<div class="form-group">
<!--<span class="input-group-addon icon-color"><i class="glyphicon glyphicon-home"></i></span>-->
<small>Employee Id</small>
<select class="form-control selectpicker" autocomplete="on" data-live-search="true" id="IEmpId" name="NEmpId" tabindex="1" >
<option disabled selected>--- Employee Id --- </option>
<?php echo fxn_empId(); ?>
</select>
</div>
</div>
<div class="col-xs-12 col-sm-4 col-md-4">
<div class="form-group">
<small>Employee Name</small>
<input type="text" name="NEmpName" id="IEmpName" class="form-control" placeholder="Employee Name">
</div>
</div>
<div class="col-xs-12 col-sm-4 col-md-4">
<div class="form-group">
<small>Basic Salary</small>
<input type="text" name="NBasicSal" id="IBasicSal" class="form-control" placeholder="Basic Salary">
</div>
</div>
下面是JS代码
var lcl_switchID = "1";
$.ajax({
url :"script_emp-timiesheet.php",
method :"POST",
data :{lEmpId:lEmpId, data:lcl_switchID},
success:function(data){
if(data=="ok"){
//fxn_EnableCLR();
}else{
alert(data);
}
}
});
以下是PHP的代码
if(isset($_POST["lEmpId"])){
$lEmpId = $_POST["lEmpId"];
$Lquery = "SELECT CONCAT(FName,' ', LName) as Name FROM tblempregistration WHERE EmpId = '$LDesgId'";
$query_result = mysqli_query($conn, $Lquery);
if(mysqli_num_rows($query_result) > 0){
while($row = mysqli_fetch_array($Lquery_result)){
echo '<input type="text" name="NEmpName" value=' .$row[''
}
我不知道下一步该怎么做...
有什么建议么??
最佳答案
您正在回荡一些HTML以响应ajax请求。但是,除了回显返回的字符串外,您什么都不用做。但是,页面上已经存在一个具有相同名称的文本框,因此有意义的是再次返回该文本框。您真正想要做的是自己返回数据值,然后使用JavaScript将这些值放入页面中适当的现有字段中。
我认为您可以执行以下操作:
1)在PHP端,返回编码为JSON的数据库行:
if ($row = mysqli_fetch_array($Lquery_result)) {
echo json_encode($row);
}
2)在客户端,以JSON格式接收ajax响应,提取值并将其放入HTML中的适当位置。在这种情况下,您想将它们添加为文本框中的值:
var lcl_switchID = "1";
$.ajax({
url :"script_emp-timiesheet.php",
method :"POST",
data :{lEmpId:lEmpId, data:lcl_switchID},
dataType: "json", //tell jquery to expect JSON back from the server
success:function(data){
$("#IEmpName").val(data.FName);
}
});
您可以为其他字段执行类似操作。我不知道其确切名称,因此无法提供确切的示例。
N.B.如果客户端代码因找不到正确的字段而无法工作,请尝试调试以查看返回数据的实际结构。您可以在“成功”函数中编写
console.log(JSON.stringify(data));
,然后使用浏览器控制台检查实际数据结构,然后调整jQuery代码以读取相应的数据字段。关于javascript - 如何在差异textareas中显示php获取的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45694943/