阅读:5822
回复:9
|
[更多知识]下拉菜单控件存储所选文本到数据库
问题描述:
目前的下拉菜单控件,只会存储菜单的值数据(一般是所选对象的id),如何将菜单的文本数据一同存储至数据库中? 解决方案 可以建立一个数据项,并设置为隐藏,在下拉菜单控件中,通过TextDataField属性进行映射设置 |
|
3楼#
发布于:2016-07-12 16:09
<div id="title1" class="col-md-2">
<span id="Label11" data-type="SheetLabel" data-datafield="shujuxiang1">数据项1</span> </div> <div id="control1" class="col-md-4"> <select data-datafield="shujuxiang1" data-type="SheetDropDownList" id="ctl920862" class="" data-masterdatacategory="ExpenseType" data-textdatafield="shujuxiang2"></select></div> <div id="title2" class="col-md-2"> <span id="Label12" data-type="SheetLabel" data-datafield="shujuxiang2">数据项2</span> </div> <div id="control2" class="col-md-4"> <input id="Control12" type="text" data-datafield="shujuxiang2" data-type="SheetTextBox" class=""> </div> |
|
4楼#
发布于:2016-07-12 17:52
|
|
|
6楼#
发布于:2016-07-13 09:31
|
|
7楼#
发布于:2016-07-13 17:48
在MVCSheetall 中第3675 行增加下面代码: 然后再表单上下拉框的默认属性值的位置 按照text||val 的协议赋值 就可以 吧text 和 value区分开。保存的时候 存储 ||后面的值 例如:10 工程部||100;11设计部||110;下拉框显示的时候10工程部 存数据库的这是100
if (this.DefaultItems.trim() != "") { this.SetEmptyItem(); var J = this.DefaultItems.split(";"); for (var H = 0; H < J.length; H++) { //qiancheng 2016年6月20日修改 ||前面的是text 后面的是val if (J[H].indexOf("||")>0) { var jvalue = J[H].split("||")[1]; // alert(jvalue); var jtext = J[H].split("||")[0]; // alert(jtext); D.append('<option value="' + jvalue + '">' + jtext + "</option>") }else{ D.append('<option value="' + J[H] + '">' + J[H] + "</option>") } } this._selectItem(D, C) } else { this.SetEmptyItem(); if (M && M.length > 0) { D.append(M); D.val(D.children(":eq(0)").val()); this._selectItem(D, C) } |
|
8楼#
发布于:2016-07-14 14:45
|
|
|