Bootstrap 组件之下拉框createOption用法详解
2018-01-01 17:49
465 查看
Bootstrap 组件之下拉框createOption用法详解
前言:
很多时候,在一个系统中经常会用到下拉框(表单),这样的组件,例如下图中的下拉框,今天我就讲述一下,在实际项目中的实战
createOption.js
createOptions.js
About Me:
Github地址:https://github.com/noseparte
Email: noseparte@aliyun.com
有java与hadoop相关的技术问题,可以发私信与我交流。
NPM地址: https://www.npmjs.com/~noseparte
WebSite: http://www.noseparte.com/ Copyright
© 2017 noseparte
前言:
很多时候,在一个系统中经常会用到下拉框(表单),这样的组件,例如下图中的下拉框,今天我就讲述一下,在实际项目中的实战
<!DOCTYPE html> <html lang="en"> <head> <!-- 初始化下拉框 --> <script src="plugins/utils/createOption.js"></script> <script src="plugins/utils/createOptions.js"></script> </head> <body class="gray-bg"> <div class="col-sm-2"> <select class="form-control" name="sectionName" id="sectionName" value="${pd.sectionName}" ajax--url="/api/qa/full_qa_section_list" ajax--column="ID,TEXT" style="width:140px;"> <option value="">--选择板块--</option> </select> </div> <script type="text/javascript"> $(document).ready(function(){ //初始化下拉菜单 $("#sectionName").createOption(); }); </script> </body> </html>
createOption.js
<script src="plugins/utils/createOption.js"></script> (function($){ $.fn.extend({ createOption:function(){ var $select=$(this); var selectVal=$select.attr("value"); var url=$select.attr("ajax--url"); var column=$select.attr("ajax--column"); var dicCode =$select.attr("dicCode"); if (column==undefined||column==""){ column="ID,TEXT"; } var t_id=column.split(",")[0]; var t_text=column.split(",")[1]; if(dicCode==undefined||dicCode==''){ //如果url为空则返回 if (url==undefined||url==""){ return; } $.ajax({ type: "POST", url:url, async: false,//要指定不能异步 dataType:"json", contentType:"application/x-www-form-urlencoded", success: function(data) { var options=''; $.each(data,function(n,value){ var id=value[t_id]; var text=value[t_text]; var selected=''; if(selectVal==id){ selected='selected=" "'; } options=options+'<option value="'+id+'"'+selected+'>'+text+'</option>'; }); $select.append(options); /* debugger; console.log(options); console.log($select);*/ } }); }else{ $.ajax({ type: "POST", url:"dic/getDicByCode", data:{"code":dicCode}, async: false,//要指定不能异步 dataType:"json", success: function(data) { var arr = data.split(','); var options=''; $.each(arr,function(n,value){ var optionArr = value.split(':'); var id=optionArr[0]; var text=optionArr[1]; var selected=''; if(selectVal==id){ selected='selected=" "'; } options=options+'<option value="'+id+'"'+selected+'>'+text+'</option>'; }); $select.append(options); } }); } } }); })(jQuery);
createOptions.js
<script src="plugins/utils/createOptions.js"></script> (function($){ $.fn.extend({ createOptions:function(params){ var $select=$(this); var selectVal=$select.attr("value"); var url=$select.attr("ajax--url"); var column=$select.attr("ajax--column"); var dicCode =$select.attr("dicCode"); /*debugger; console.log(params); console.log("1-------------");*/ if (column==undefined||column==""){ column="ID,TEXT"; } var t_id=column.split(",")[0]; var t_text=column.split(",")[1]; if(dicCode==undefined||dicCode==''){ //如果url为空则返回 if (url==undefined||url==""){ return; } $.ajax({ type: "POST", url:url, data:params, async: false,//要指定不能异步 dataType:"json", success: function(data) { //console.log(data); var options=''; $.each(data,function(n,value){ var id=value[t_id]; var text=value[t_text]; var selected=''; if(selectVal==id){ selected='selected=" "'; } options=options+'<option value="'+id+'"'+selected+'>'+text+'</option>'; }); $select.empty(); $select.append(options); } }); }else{ $.ajax({ type: "POST", url:"dic/getDicByCode", data:{"code":dicCode}, 4000 async: false,//要指定不能异步 dataType:"json", success: function(data) { var arr = data.split(','); var options=''; $.each(arr,function(n,value){ var optionArr = value.split(':'); var id=optionArr[0]; var text=optionArr[1]; var selected=''; if(selectVal==id){ selected='selected=" "'; } options=options+'<option value="'+id+'"'+selected+'>'+text+'</option>'; }); $select.append(options); } }); } } }); })(jQuery);
About Me:
Github地址:https://github.com/noseparte
Email: noseparte@aliyun.com
有java与hadoop相关的技术问题,可以发私信与我交流。
NPM地址: https://www.npmjs.com/~noseparte
WebSite: http://www.noseparte.com/ Copyright
© 2017 noseparte
相关文章推荐
- jquery组件WebUploader文件上传用法详解
- BootStrap网页中代码显示<code><pre>用法详解
- React-Native中一些常用组件的用法详解(一)
- Bootstrap进度条组件知识详解
- BootStrap实现树形目录组件代码详解
- Zend Framework教程之视图组件Zend_View用法详解
- vue组件详解(五)——组件高级用法
- Java Swing树状组件JTree用法实例详解
- 基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
- Bootstrap输入框组件使用详解
- Android WebView组件用法详解
- RN----导入组件,import from 'xxxx'的用法详解
- 转载 JS组件Bootstrap Select2使用方法详解
- Bootstrap滚动监听组件scrollspy.js使用方法详解
- Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
- Bootstrap进度条组件知识详解
- Common Dbutils组件用法详解(含源代码)(转)
- Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
- Zend Framework入门教程之Zend_Config组件用法详解
- Bootstrap图片轮播组件Carousel使用方法详解