【问题标题】:How to get value to text box according to selected value with reference to database in php?如何参考php中的数据库根据选定的值获取文本框的值?
【发布时间】:2016-11-28 07:06:12
【问题描述】:

下面是我的数据库值

+----+--------------------+-------------+
| id | type               | rate        |
+----+--------------------+-------------+
|  1 | Accord|Corola|Tata | Out|Loc|Out |
+----+--------------------+-------------+

我将type列的值爆开,并成功显示在view页面的select tag中。

我还有另一个textbox,我需要根据选择的type位置显示rate。

<input type="text" id="rate">

当我们选择dropdowntype值时,如何获取textbox中需要的值?

我正在使用 Code Igniter 框架。

提前谢谢...

【问题讨论】:

    标签: javascript php database codeigniter


    【解决方案1】:

    仅在选择标签中存储速率值,如下所示。

    <select id="type_select">
    <option value="Out">Accord</option>
    <option value="Loc">Corola</option>
    <option value="Out">Tata</option>
    </select>
    

    jquery中select的onchange获取速率值并显示。

    Javascript 代码:

    $( "#type_select" ).change(function() {
      var rate = $( "#type_select option:selected" ).val();
      $("#rate").val(rate);
    });
    

    【讨论】:

    • 我正在动态生成dropdown。不能这样赋值。
    • 从 JS 中的 PHP 数组创建一个数组,创建一个 JS 的函数并在 onSelect 上调用它,从 js 数组中获取值并使用 js 或 jquery 将其显示在文本区域。
    • 当您像这样从数据库中填充类型的值时,您必须对 rate 列进行操作。
    • 您给定的代码是由 JQuery 完成的。但我面临的问题是我正在使用 AJAX 加载整个页面。只能实现 JavaScript。 JQuery 不会工作。如何在 Javascript 中做到这一点?
    • 它工作正常,但是当我想提交此表单时,select 标签的值正在消失,但我不想发送我想发送 Accord 或 Tata 等的值。
    【解决方案2】:
    $types=explolde("|",$type);    
    $rates=explolde("|",$rate);
    $dataArray = array();
    $i = 0;
    foreach($types as $value){
     $dataArray[$value] = $rates[$i++]; // I assume size of both array is same,  
     //you may check additional exception handling.
    }
    

    $dataArray 有实际值,既然你现在有地图,就根据你的要求从这个数组中获取值。

    【讨论】:

    • 我只想在textbox 中显示一个值。通过上面的代码,它显示了所有三个值。
    【解决方案3】:

    试试看

    <?php 
    $type = 'Accord|Corola|Tat';
    $rate = 'Out|Loc|Out';
    
        $new_type = explode('|',$type);
        $new_rate = explode('|',$rate);
    
    echo "<select onchange='getValue()' id='theSelect'>";
    for($x=0;$x<count($new_rate);$x++){
        echo "<option value = '".$new_rate[$x]."' > ".$new_type[$x]." </option>";
    }
    echo "</select>";
    ?>
    
    <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
    
    <script>
    
        function getValue(){
            var valSelect = $("#theSelect").val();
                $("#rate").val(valSelect);
        }
    
    </script>
    
    
    <input type="text" id="rate">
    

    【讨论】:

    • 当我们尝试提交表单时,select 标签的value 将插入到数据库中。但是如何发送车辆名称呢?
    【解决方案4】:

    你可以尝试在 javascript 中添加一个选择事件,并通过 ajax 加载相应的速率。

    添加类似的事件

    $(document).on("change","#type",function(e){
      var type=$(this).find("option:selected").val();
        //load ajax call
        jQuery.ajax({
          type: mtdf, // HTTP method POST or GET
          url: url, //Where to make Ajax calls
          dataType: "json", // Data tr_, HTML, json etc.
          data:{type:type}, //data to the server,
          success: function (response) {
            //console.log(response);                    
          },
          error: function (xhr, ajaxOptions, thrownError){
        }
      });
    });
    

    【讨论】:

      猜你喜欢
      • 2020-08-11
      • 1970-01-01
      • 1970-01-01
      • 2020-05-02
      • 2016-03-26
      • 1970-01-01
      • 1970-01-01
      • 2020-06-10
      • 1970-01-01
      相关资源
      最近更新 更多