繁体   English   中英

如何在用逗号分隔的文本框中获取多个值

[英]How to Fetch Multiple Values in Textbox separated by comma

我有一个下拉框和一个文本框。 基于我的下拉选择文本框以及数据库值进行检索。 实际上,它工作正常,没有任何问题。 但是我的问题是数据库在特定的下拉选择中具有两个或多个文本框值。 因此,我想如果多个文本框值进入相同的下拉选择,则它将在文本框中显示所有值,并以逗号(,)分隔。 任何帮助,不胜感激。

这是我使用的代码供您参考:

<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">

jQuery:

<script 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 id1234 = response[i]['id123'];
                                var name1234 = response[i]['name123'];

                              $("#pnum").val(name1234);
                            }
                        }
                    });
                });

            });
        </script>

Ajax页面:-

<?php
include('config.php');
// Check connection
if (!$db) {
 die("Connection failed: " . mysqli_connect_error());
}

$departid = $_POST['depart']; 

$sql = "SELECT Emp_Id,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);
}

echo json_encode($users_arr);
?>

我的样本数据:

Category Mobile_Number
  IT      9629292929
  IT      8888888888
  IT      5623566666

如果我选择下拉类别“ IT”,那么我希望我的文本框Mobile_Number输出看起来像这样:

9629292929,8888888888,5623566666

您可以简单地遍历json_encode() d数组。

然后使用PHP的内置函数implode()将字符串中的数组值连接/插入到一个逗号分隔的字符串中

$arr = json_decode($yourArray);
$mobiles = array();
if (! empty($arr)) {
 foreach ($arr as $elem) {
  $mobiles[] = $elem['Mobile_Number'];
 }
}
$mobileStr = ! empty($mobiles) ? implode(',', $mobiles) : '';

现在,在文本框中将此$mobileStr用作value="$mobileStr"

您可以使用javascript的join函数。 请参考以下帖子。 https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_join

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM