1.表单取值/赋值公共方法

//表单序列化:文本框的name字段和数据源一致<form id="myForm" onsubmit="return false;">
function getFormJsonData(formId) {
var fields = $("#" + formId).serializeArray();
var f = {};
$.each(fields, function (index, field) {
f[field.name] = field.value;
})
return f;
}
//表单填充数据:文本框的name字段和数据源一致
function setFormJsonData(data) {
if (data) {
for (var i in data) {
////console.log(i + ":" + data.JingShenBing[i]);
if (document.getElementsByName(i + "").length > 0) {
document.getElementsByName(i + "")[0].value = data[i];
} }
} }

2.调用

 <form id="form2" name="form2" onsubmit="return false">
<input name="name" />
<input name="age" />
<input value="提交" type="button" onclick="getFormData()" />
<input value="setValue" type="button" onclick="setFormData()" />
</form>
 <script>function getFormData() {
var data = getFormJsonData("form2");
data.id = 1; //追加数据
var data1={sex:'0'};
Object.assign(data1, data); //copy复制对象
console.log(data1);
}
function setFormData() {
var data = {"name":"jay","age":"22"};
setFormJsonData(data);
}
</script>

3.生成下拉框

//调用:createSelect("url","Name","Id","selectId",-1, [{"Name":"全部","Id":"-1"}],null);
//参数:数据源地址,显示字段,取值字段,下拉框id,默认选中值,开头追加数据,成功回调
function createSelect(url,displayField,valueField,selectId, defaultValue, insertDataAtFirst, cb) {
try {
var obj = document.getElementById(selectId);
//var url = obj.getAttribute("attr-url");
//var displayField = obj.getAttribute("attr-displayField");
//var valueField = obj.getAttribute("attr-valueField"); ////alert(displayField);
var str = "";
if (insertDataAtFirst) {
for (var i = 0; i < insertDataAtFirst.length; i++) {
var item = insertDataAtFirst[i];
////console.log("option:", item[displayField]);
str += "<option value='" + item[valueField] + "' >" + item[displayField] + "</option>";
}
}
ajax(url, null, function (data) {
if (data) {
for (var i = 0; i < data.length; i++) {
var item = data[i];
////console.log("option:", item[displayField]);
str += "<option value='" + item[valueField] + "'>" + item[displayField] + "</option>";
} }
obj.innerHTML = str;
if (defaultValue != null && defaultValue != "") {
obj.value = defaultValue;
} if (cb) {
cb(obj.value);
}
});
} catch (e) {
console.log('%c createSelect error:', 'background:white;color:red',e);
} }

调用:

//参数:数据源地址,显示字段,取值字段,下拉框id,默认选中值,开头追加数据,成功回调

createSelect("api/Dict/GetProvinces", "Name", "Id", "selProvince", -1, {Id:-1,Name:"请选择"}, null);

968AF3B3-37D5-4689-ACAB-9BB3D0F6BAD4 From:http://www.cnblogs.com/xuejianxiyang/p/8416527.html

js表单快速取值/赋值 快速生成下拉框的更多相关文章

  1. jQuery 表单元素取值与赋值方法总结

    一.普通文本框的赋值与取值 1.1.1赋值 <h2>jQuery 表单元素取值与赋值方法总结</h2> <input type="text" clas ...

  2. Angular2+之使用FormGroup、FormBuilder和Validators对象控制表单(取值、赋值、校验和是否可编辑等)

    1.要使用Angular自带的表单控制需要先引入相关模块(.ts文件): import { FormGroup, //表单对象类 FormBuilder, //表单生成工具类 Validators} ...

  3. `<jsp:getProperty>`动作和`<jsp:setProperty>`动作的使用在一个静态页面填写图书的基本信息,页面信息提交给其他页面,并且在其页面显示。要去将表单元素的值赋值给Java

    <jsp:getProperty>动作和<jsp:setProperty>动作的使用 1.<jsp:getProperty>动作 语法格式: <jsp:get ...

  4. Dynamics 365-表单元素取值/赋值

    取值/赋值 参考: 山人丶 提示: 查找类型赋值时需指定目标实体,记录名称及id值 时间和日期类型赋值时需赋值Date类型 //获取new_name的值(单行文本) Xrm.Page.getAttri ...

  5. 表id关联数据获取至页面,制作下拉框多选进行数据多项获取(字段处理)

     这周完成了一张表单,重点碰到以下问题: 1.freemaker获取年份的type值取year,类型直接为Long,传至后台和获取数据不需要转换: 2.freemaker获取日期type值为date, ...

  6. [King.yue]Ext.JS 弹出窗体取值赋值

    //从Grid取值 var name = Ext.getCmp(gridGridID).getView().getSelectionModel().getSelection()[0].data.Nam ...

  7. [Swift通天遁地]二、表格表单-(4)使用系统自带的下拉刷新控件,制作表格的下拉刷新效果

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  8. [Swift通天遁地]二、表格表单-(6)创建美观的表格弹性下拉刷新效果

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  9. 解决select下拉框禁用(设置disabled属性),后台获取值为空

    如果下拉框设置disabled属性后,提交表单到后台,后台获取的下拉框的值为空,以下有三种解决获取不到下拉框选项值的方法. 有下拉框html如:<select name="select ...

随机推荐

  1. Web项目通过Maven部署到Tomcat的错误。

    一直提示: Maven Build的时候,一直提示一个关键错误 Cannot invoke Tomcat manager: Error writing to server 找了网上提示说应该先启动To ...

  2. HTML中title前面小图标和网站收藏现实的图标

    网站上的logo实际上是一个“favicon.ico”图片.实现步骤:第一步:制作favicon.ico,大小为16*16毫米:第二步:将“favicon.ico”放到项目的根路径下. 第三步:在所有 ...

  3. 移动端遇到的常见JS与CSS问题及解决方法

    由于笔者的水平有限,虽说都是笔者遇到过使用过的,但文中可能也会出现一些问题或不严谨的地方,望各位指出,不胜感激! 一. css部分 body如果设置height:100%;overflow:hidde ...

  4. python全栈开发_day6_元组,字典,集合

    一:元组    1)定义    元组:有序,可以按索引取值,不可变,但是可以修改元组里面可变数据的数据内容. res = (1,2,3,4,3,2,1) 2)内置方法和使用 res.count(1) ...

  5. java数据结构和算法学习笔记

    第一章 什么是数据结构和算法 数据结构的概述 数据结构是指 数据再计算机内存空间或磁盘空间中的组织形式 1.数据结构的特性 数据结构 优点 缺点 数组 插入快,如果知道下标可以快速存取 查找和删除慢 ...

  6. post调试postman

    载地址:https://www.getpostman.com/ 教程地址:http://www.cnblogs.com/s380774061/p/4624326.html

  7. ionic3 pop到指定页面

    this.navCtrl.getViews().forEach(element => { if(element.name == 'JiecheHomePage'){ this.navCtrl.p ...

  8. 查看分析器(Analyzer)的分词效果

    1 测试代码 package com.test.lucene.helloworld; import org.apache.lucene.analysis.Analyzer; import org.ap ...

  9. Class and Instance Variables In Ruby

    https://github.com/unixc3t/mydoc/blob/master/blog/caiv.md

  10. 大数据技术之_16_Scala学习_13_Scala语言的数据结构和算法_Scala学习之旅收官之作

    第十九章 Scala语言的数据结构和算法19.1 数据结构(算法)的介绍19.2 看几个实际编程中遇到的问题19.2.1 一个五子棋程序19.2.2 约瑟夫问题(丢手帕问题)19.2.3 其它常见算法 ...