Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.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 如何将jquery值从所选下拉列表传递到Laravel5.1中的变量?_Javascript_Php_Jquery_Mysql_Laravel 5.1 - Fatal编程技术网

Javascript 如何将jquery值从所选下拉列表传递到Laravel5.1中的变量?

Javascript 如何将jquery值从所选下拉列表传递到Laravel5.1中的变量?,javascript,php,jquery,mysql,laravel-5.1,Javascript,Php,Jquery,Mysql,Laravel 5.1,我在controller类中创建了price字段,如下所示 protected $fields = [ 'tag' => '', 'title' => '', 'location' => '', 'property_type' => '', 'residence_name' => '', 'bedroom_no' => '', 'price'

我在controller类中创建了price字段,如下所示

   protected $fields = [
        'tag' => '',
        'title' => '',
        'location' => '',
        'property_type' => '',
        'residence_name' => '',
        'bedroom_no' => '',
        'price' => '',
        'lease' => 0,
    ];
我还在我的表中创建了一个列price,用于类似这样的迁移

Schema::table('tags', function (Blueprint $table) {

    $table->string('location');
    $table->string('property_type');
    $table->string('residence_name');
    $table->string('bedroom_no');
    $table->string('price');
    $table->boolean('lease');

});
其他字段保存在数据库中,因为它们是文本输入字段。 以下是保存在数据库中的位置输入字段的工作示例代码:

<div class="form-group">
  <label for="location" class="col-md-3 control-label">
  Location / City
  </label>
   <div class="col-md-8">
     <input type="text" class="form-control" name="location" placeholder=""
       id="location" value="{{ $location }}">
 </div>
</div>
使用jQuery脚本代码接受用户的输入

<script>
$("#price").change(function () {
   var price = $(this).val();
   alert(price);
});
</script>
试试这个

<div class="form-group">
<label for="price" class="col-md-3 control-label">
   Price
  </label>
  <div class="col-md-4">
   <select class="form-control" id="price">
    <option value="10,000 - 15,000">10,000 - 15,000</option>
    <option value="15,000 - 20,000">15,000 - 20,000</option>
    <option value="20,000 - 25,000">20,000 - 25,000</option>
    <option value="30,000 - 50,000">30,000 - 50,000</option>
    <option value="50,000 and Above">50,000 and Above</option>
   </select>
  </div>
 </div>
为标签添加名称属性价格,并为每个标签属性值添加所需的值

<select class="form-control" id="price" name="price">
    <option value="10,000 - 15,000">10,000 - 15,000</option>
    <option value="15,000 - 20,000">15,000 - 20,000</option>
    <option value="20,000 - 25,000">20,000 - 25,000</option>
    <option value="30,000 - 50,000">30,000 - 50,000</option>
    <option value="50,000 and Above">50,000 and Above</option>
</select>
你不需要其他任何东西。这就是HTML表单的工作方式

该值将附加到名称,稍后您可以通过以下方式获取该值:

$request->input'price'; 传递给$request->input的参数是表单中input/select/checkbox/radio元素的name参数,它将等于所选的任何值


删除javascript,因为在您的情况下不需要它。

您提到可以在数据库中保存文本输入字段,因此我想您知道如何使用HTML进行表单提交,在Laravel中设置post路由,在控制器中捕获输入,然后保存到您的模型中

如果是这种情况,唯一的问题是选择下拉列表,那么您似乎忘记了选择标记上的name属性和选项标记上的value属性

如果您想在下拉列表中设置一个默认值,就像我猜您试图使用value={{$price}}来到期一样,那么您应该使用selected属性

<select class="form-control" id="price" name="price">
    <option value='10,000 - 15,000'>10,000 - 15,000</option>
    <option value='15,000 - 20,000'>15,000 - 20,000</option>
    <option value='20,000 - 25,000' selected='selected'>20,000 - 25,000</option>
    <option value='30,000 - 50,000'>30,000 - 50,000</option>
    <option value='50,000+'>50,000 and Above</option>
</select>

你听说过表单吗?我现在正在使用表单。我从输入类型文本中得到了一些值。但是从选择下拉列表中获取值是我的问题。这不会将任何值传递给php。您只复制了我发布的代码,然后粘贴了回去。我需要将jquery代码中的price值传递给php,以便将其保存在数据库中。下面是一个用于文本输入的示例。地点/城市
class ABC extends Controller {
    public function PQR(Request $request) {
        $price = $request->get('price');
        ...
    }
}
<select class="form-control" id="price" name="price">
    <option value="10,000 - 15,000">10,000 - 15,000</option>
    <option value="15,000 - 20,000">15,000 - 20,000</option>
    <option value="20,000 - 25,000">20,000 - 25,000</option>
    <option value="30,000 - 50,000">30,000 - 50,000</option>
    <option value="50,000 and Above">50,000 and Above</option>
</select>
<select class="form-control" id="price" name="price">
    <option value='10,000 - 15,000'>10,000 - 15,000</option>
    <option value='15,000 - 20,000'>15,000 - 20,000</option>
    <option value='20,000 - 25,000' selected='selected'>20,000 - 25,000</option>
    <option value='30,000 - 50,000'>30,000 - 50,000</option>
    <option value='50,000+'>50,000 and Above</option>
</select>