Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Laravel 8中显示数据库中的其他值_Javascript_Php_Html_Jquery_Laravel - Fatal编程技术网

Javascript 如何在Laravel 8中显示数据库中的其他值

Javascript 如何在Laravel 8中显示数据库中的其他值,javascript,php,html,jquery,laravel,Javascript,Php,Html,Jquery,Laravel,当我选择一个选项时,我从数据库中有一个下拉列表,我想显示与我选择的选项相关的其他数据。我怎样才能做到这一点?javascript/jquery能做到这一点吗?如果是,怎么做 以下是我的代码: HTML: 试试这个: HTML:- 您的控制器方法:- 试试这个: HTML:- 您的控制器方法:- 从数据库中获取值“age”,并更改控制器,如下所示: public function index() { $memberlist = Member::select('id','na

当我选择一个选项时,我从数据库中有一个下拉列表,我想显示与我选择的选项相关的其他数据。我怎样才能做到这一点?javascript/jquery能做到这一点吗?如果是,怎么做

以下是我的代码:

HTML:

试试这个:

HTML:-

您的控制器方法:-

试试这个:

HTML:-

您的控制器方法:-


从数据库中获取值“age”,并更改控制器,如下所示:

public function index()
    {
        $memberlist = Member::select('id','name', 'age')->get();
        return view('basic.dropdownfromdb',compact('memberlist'));
    }
在事件更改中,使用以下选项获取当前选定的选项:

var nowAge = $(this).children(':selected').data('age');
以下代码段仅打印所选值,并使用$this.next'input.focus.valnowAge;将nowAge设置为下一个输入字段

使用该值添加以下jQuery逻辑

$(".pet-select").change(function () {
    var nowAge = $(this).children(':selected').data('age');
    console.log(nowAge);
    
    $("#age-value").val(nowAge);  
});
最后的HTML代码段应该在下面

<div class="container-fluid">
  <div class="row">
    <h1>Dropdown value from database</h1>
    <br><br><br>
  </div>

  <form action="dropdownfromdb" method="post">
    @csrf
    <div class="row">
      <div class="col">
        <select class="pet-select" name="pet">
          <option>Choose Name</option>
          @foreach($memberlist as $member)
            <option value="{{$member->id}}" data-age="{{$member->age}}">{{$member->name}}</option>
          @endforeach
        </select><br><br>
      </div>
      <div class="col-10">
        <label>His age is: </label><input type="number" id="age-value" name="age" value="">
      </div>
    </div>
  </form>
</div>
希望它能解决你的问题

我已经为这个问题创建了一个完整的HTML源代码

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Dropdown value from database</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>


<div class="container-fluid">
    <div class="row">
        <h1>Dropdown value from database</h1>
        <br><br><br>
    </div>
    
    <form action="dropdownfromdb" method="post">
        <div class="row">
        <div class="col-sm-4">
            <select class="pet-select" name="pet">
            <option>Choose Name</option>
            <option value="ahmad" data-age="21">Ahmad</option>
            <option value="abu" data-age="27">Abu</option>
            <option value="ali" data-age="21">Ali</option>                        
            </select><br><br>
        </div>
        <div class="col-sm-8">
            <label>His age is: </label><input type="number" id="age-value" name="age" value="">
        </div>
        </div>
    </form>
</div>

<script>
$(document).ready(function(){
    $(".pet-select").change(function () {
    var nowAge = $(this).children(':selected').data('age');
    console.log(nowAge);
    
    $("#age-value").val(nowAge);    
});
})
</script>

</body>
</html>

从数据库中获取值“age”,并更改控制器,如下所示:

public function index()
    {
        $memberlist = Member::select('id','name', 'age')->get();
        return view('basic.dropdownfromdb',compact('memberlist'));
    }
在事件更改中,使用以下选项获取当前选定的选项:

var nowAge = $(this).children(':selected').data('age');
以下代码段仅打印所选值,并使用$this.next'input.focus.valnowAge;将nowAge设置为下一个输入字段

使用该值添加以下jQuery逻辑

$(".pet-select").change(function () {
    var nowAge = $(this).children(':selected').data('age');
    console.log(nowAge);
    
    $("#age-value").val(nowAge);  
});
最后的HTML代码段应该在下面

<div class="container-fluid">
  <div class="row">
    <h1>Dropdown value from database</h1>
    <br><br><br>
  </div>

  <form action="dropdownfromdb" method="post">
    @csrf
    <div class="row">
      <div class="col">
        <select class="pet-select" name="pet">
          <option>Choose Name</option>
          @foreach($memberlist as $member)
            <option value="{{$member->id}}" data-age="{{$member->age}}">{{$member->name}}</option>
          @endforeach
        </select><br><br>
      </div>
      <div class="col-10">
        <label>His age is: </label><input type="number" id="age-value" name="age" value="">
      </div>
    </div>
  </form>
</div>
希望它能解决你的问题

我已经为这个问题创建了一个完整的HTML源代码

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Dropdown value from database</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>


<div class="container-fluid">
    <div class="row">
        <h1>Dropdown value from database</h1>
        <br><br><br>
    </div>
    
    <form action="dropdownfromdb" method="post">
        <div class="row">
        <div class="col-sm-4">
            <select class="pet-select" name="pet">
            <option>Choose Name</option>
            <option value="ahmad" data-age="21">Ahmad</option>
            <option value="abu" data-age="27">Abu</option>
            <option value="ali" data-age="21">Ali</option>                        
            </select><br><br>
        </div>
        <div class="col-sm-8">
            <label>His age is: </label><input type="number" id="age-value" name="age" value="">
        </div>
        </div>
    </form>
</div>

<script>
$(document).ready(function(){
    $(".pet-select").change(function () {
    var nowAge = $(this).children(':selected').data('age');
    console.log(nowAge);
    
    $("#age-value").val(nowAge);    
});
})
</script>

</body>
</html>

是的,您将需要js,但您首先必须获得$memberlist,而不仅仅是id和名称。如果你想要年龄,那么在Member::selectYup中添加'age',我已经选择了年龄,但是如何使用javascript?你将$memberlist传递给json中的js,然后编写一个事件,在选择下拉列表时触发,这将读取当前选定的id,并从id中选择成员,然后将该成员的年龄放入文本框。谢谢你的想法,但你能告诉我吗?我绝对没有Javascript方面的经验,也没有尝试学习js的经验,你需要js,但你首先必须获得$memberlist,而不仅仅是id和名称。如果你想要年龄,那么在Member::selectYup中添加'age',我已经选择了年龄,但是如何使用javascript?你将$memberlist传递给json中的js,然后编写一个事件,在选择下拉列表时触发,这将读取当前选定的id,并从id中选择成员,然后将该成员的年龄放入文本框。谢谢你的想法,但你能告诉我吗?我绝对没有Javascript方面的经验,也没有尝试学习如何感谢你,但它仍然没有显示任何输入。我已经编辑了答案。希望现在一切都会好起来…:太好了。我对你的答案做了一些修改,解决了我的问题。非常感谢你!!!谢谢,但它仍然无法显示AGE的任何输入。我已编辑了答案。希望现在一切都会好起来…:太好了。我对你的答案做了一些修改,解决了我的问题。非常感谢你!!!
<!DOCTYPE html>
<html lang="en">
<head>
  <title>Dropdown value from database</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>


<div class="container-fluid">
    <div class="row">
        <h1>Dropdown value from database</h1>
        <br><br><br>
    </div>
    
    <form action="dropdownfromdb" method="post">
        <div class="row">
        <div class="col-sm-4">
            <select class="pet-select" name="pet">
            <option>Choose Name</option>
            <option value="ahmad" data-age="21">Ahmad</option>
            <option value="abu" data-age="27">Abu</option>
            <option value="ali" data-age="21">Ali</option>                        
            </select><br><br>
        </div>
        <div class="col-sm-8">
            <label>His age is: </label><input type="number" id="age-value" name="age" value="">
        </div>
        </div>
    </form>
</div>

<script>
$(document).ready(function(){
    $(".pet-select").change(function () {
    var nowAge = $(this).children(':selected').data('age');
    console.log(nowAge);
    
    $("#age-value").val(nowAge);    
});
})
</script>

</body>
</html>