【问题标题】:Laravel & Jquery - Filled Textbox with Select box to the other field valueLaravel 和 Jquery - 用选择框填充文本框到另一个字段值
【发布时间】:2019-06-04 21:33:17
【问题描述】:

我怎样才能实现这个输出?

我想要一个动态下拉列表,例如当我在下拉列表中选择一个值时,文本框应自动填充下表中的连接值aircraft_id

这是我的数据库值示例

例如,我在选择下拉列表中选择123,然后文本框必须自动填充3,我该怎么做?

这是我的代码,代码正在运行,但它只获得相同的值,我想要的是从表中获取另一个值。

查看

 <span>Aircraft Name</span>
                <select name="aircraft_name" class="aircraftsName">
                  <option value="0" disabled="true" selected="true"> Select </option>
                  @foreach ($aircrafts as $aircraft)
                      <option value="{{ $aircraft->aircraft_registration_number }}" >{{ $aircraft->aircraft_registration_number }}</option>
                  @endforeach

                </select>

                <span>Aircraft ID</span>
                <input id="aircraft_id" type="text" class="aircraft_id">
                <br>

Javascript 和 Jquery

    <script type="text/javascript">
  $(document).ready(function() {
    $(document).on('change', '.aircraftsName', function() {
        var air_id =  $(this).val();     // get id the value from the select
        $('.aircraft_id').val(air_id);   // set the textbox value

        // if you want the selected text instead of the value
       // var air_text = $('.aircraftsName option:selected').text(); 
    });
});
</script>

我当前的输出和问题

【问题讨论】:

    标签: javascript jquery ajax laravel laravel-5


    【解决方案1】:

    在你的脚本中

    $(document).on('change', '.aircraftsName', function() {
        var air_id =  $(this).val();
        $('.aircraft_id').val(air_id)
    });
    

    你在上面的代码做什么? $(this).val()的值是多少

    <option value="{{ $aircraft->aircraft_registration_number }}" >
    

    您正在分配 aircraft_registration_number,因此您需要按如下方式进行更改

    &lt;option value="{{ $aircraft-&gt;aircraft_id }}" &gt;

    即使你有 1000 条记录

    你可以简单地使用你的数组

    @foreach ($aircrafts as $aircraft)
      <option value="{{ $aircraft->aircraft_id }}" >{{ $aircraft->aircraft_registration_number }}</option>
    @endforeach
    

    或者你需要改变你的 $aircrafts 数组应该是这样的

    $aircrafts = [
               '1' => 'Sample',
               '4' => 'Boieng',
               '3' => '123'
            ];
    

    然后更改您的 for-each

    @foreach ($aircrafts as $id => $aircraft)
          <option value="{{ $id }}" >{{ $aircraft }}</option>
    @endforeach
    

    【讨论】:

    • 好的,谢谢你的回答,我不能把它改成aircraft_id,因为我需要更新两个值
    • 我的 jqeury 是否有其他解决方案来更改其值我无法更改选择选项值先生
    • @SummerWinter 你可以使用你的数组,因为它是请检查我编辑的答案
    • 如果我有 100 个数据,那么我是否也应该放入 100 个数组值?如果我在表上添加另一个数据会怎样
    • @SummerWinter 现在检查
    猜你喜欢
    • 2021-08-20
    • 1970-01-01
    • 2014-05-24
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多