首页 > 解决方案 > 显示文本框多行值

问题描述

我有一个Category下拉选择和Mobile_Number文本字段。根据我的类别选择,移动文本框获取数据库值。

我的问题是,有时同一个类别有两个或多个移动文本框值。在这种情况下,我希望所有手机号码值都显示在一个用逗号 ( ,) 分隔的文本框中。

样本表数据

Mobile_Number  Category
  123            IT
  345            IT
  456            IT

在选择“ IT”类别的情况下,我想在下面的文本框中显示输出: -

123,345,456

我的工作代码:

Ajax 页面代码:

$departid = $_POST['depart'];   // department id    
$sql = "SELECT Mobile_Number FROM admin_panel WHERE Category=".$departid;    
$result = mysqli_query($db, $sql);    
$users_arr = array();

while ($row = mysqli_fetch_array($result))
{
  //$userid = $row['Emp_Id'];
  $name = $row['Mobile_Number'];
  //$users_arr[] = array("id123" => $userid, "name123" => $name);
  $users_arr[] = array("name123" => $name);
}
echo json_encode($users_arr);

下拉菜单和文本框

<select name="cat" id="cat">
  <option disabled selected value> -- select an option -- </option>
  <option value="1">Stencil Team</option>
  <option value="2">Tooling Team</option>
  <option value="3">IT</option>
  <option value="4">Manager</option>
</select>

<input name="phoneNumber" id="pnum" type="text">

JavaScript:

$(document).ready(function(){
  $("#cat").change(function(){
    var deptid = $(this).val();
    $.ajax({
      url: 'ajaxdropdown.php',
      type: 'post',
      data: { depart: deptid },
      dataType: 'json',
      success: function(response) {
        var len = response.length;                      
        $("#pnum").empty();
        for (var i = 0; i<len; i++) {
          var name1234 = response[i]['name123'];
          $("#pnum").val(name1234);
        }
      }
    });
  });
});

标签: javascriptphpjqueryajax

解决方案


您的success-function 必须修改:

function(response){
    var len = response.length;
    var name1234 = "";                      
    $("#pnum").empty();
    for( var i = 0; i<len; i++){
        name1234 += (name1234.length < 1) ? response[i]['name123'] : ',' + response[i]['name123'];
    }
    $("#pnum").val(name1234);
}

推荐阅读