下拉选项框选中之后,通过ajax请求服务器,填充页面其他元素的value值
2017-11-27 23:47
573 查看
一、背景
在后台添加产品,有一些东西需要提前在数据库获取,此时,运营显然是不知道该如何操作的,我们需要做的就是方面运营人员经营后台,把需要用到的字段直接查出来,显示在页面上。如图:
这是需求图
二、前端代码
(1)给下拉框加onchange()方法<select name="type" id="type" onchange="select()"> <option value="-1" selected>产品类型</option> <option value="0" >净水机</option> <option value="1">智能锁</option> <option value="2">智能窗帘</option> </select>
此处最好用onchange()方法,因为onclick()会不兼容某些浏览器,比如IE,而onchage()方法的兼容性更好一些。
(2)通过ajax请求服务器
function select(){ //获取被选中的option标签 var type = parseInt($('select option:selected').val()); $.ajax({ url: "{{url('/user/goods_select')}}", type: "GET", dataType: "json", //把获取到的value值传给服务器 data: {type: type}, success: function(r) { if (!r.err) { //请求成功的话,就给另外两个文本框赋值 var product = r.data[0]['product']; var templet = r.data[0]['templet']; console.log(product); //把服务器返回的值取出来,赋值 $("#product").attr("value",product);//填充内容 $("#templet").attr("value",templet);//填充内容 } else { alert(r.err); } } }); }
关于jquery获取值和赋值的方法,不熟悉的话可以看:
http://blog.csdn.net/ljfphp/article/details/78650337
(3)服务器接收数据,并处理
public function select(Request $req ba05 uest) { //获取传过来的tyoe $type = $request->input('type'); //根据type赋值 if($type!= null) { $type = intval($type); switch ($type) { case 0: $product = 'NaB02VhEhZ2'; $templet = '0401'; break; case 1: $product = 'NaB02VhEhZ2'; $templet = '0401'; break; case 2: $product = 'NaB02VhEhZ2'; $templet = '0401'; break; } }else{ return MyResponse::error(); } $params[] = [ 'product'=>$product, 'templet'=>$templet, ]; //把获取的值返回给页面 return MyResponse::success($params); }
这边我只是试一下,随便给几个字符串试试。大家可以根基自己的逻辑,查询数据库,然后返给页面你想返回的值即可。
三、效果
当选中智能锁的时候,我们这边直接把下面的内容给填充了。这样就能方面运营。就算他们不知道这些都代表什么意思,但不重要,他们只要会选种类即可。
end
相关文章推荐
- 通过Ajax请求动态填充页面数据
- 通过Ajax请求动态填充页面数据的实例
- js页面用定时任务通过AJAX获取后台数据,但是从这个页面跳转到其他页面后,定时任务仍然在定时请求后台
- jquery通过struts2请求,返回json数据,在jsp页面形成二级联动下拉列表
- Struts 通过拦截器实现登录后跳转到登录前页面 处理普通Http请求和Ajax请求时拦截配置
- 通过jquery进行ajax的一些“异常”请求的页面自提交到其它页面
- Ajax实现的长轮询不阻塞同一时间内页面的其他Ajax请求(同域请求)
- 通过Socket实现简单web服务器功能(接收页面请求信息)不使用Tomcat!
- JavaScript html js页面刷新之后下拉菜单选中值不变,在按钮提交后保存下拉列表中值不变
- Ajax---通过JSON与服务器通信(发送请求和处理响应)
- jquery-esayui自定义按钮通过ajax请求后台跳转页面
- 通过ajax返回的json数据,给下拉框默认选中显示(给下拉框赋的选中值)
- 页面通过jquery上的ajax请求到后台通过POI导出Excel的问题
- 后端往前段传递参数,大部分人都清楚,无非就是发起ajax请求获取后端值,然后通过js写入html相应位置即可。但是前段html页面之间,怎么传递参数呢?
- 原生js,jquery通过ajax获得后台json数据动态新增页面元素
- Jquery 通过 文本 text设置 select 下拉框 的 选中项 (非通过 value)
- javascript jquery php 中ajax请求其他页面(ajax jqXHR curl)跨域
- 通过ajax发请求的页面转发问题
- 表单元素提交到服务器,通过request接收多个请求参数