easyui动态生成combobox并渲染后,设置默认选中项,之后取控件的值都是同一个?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了easyui动态生成combobox并渲染后,设置默认选中项,之后取控件的值都是同一个?相关的知识,希望对你有一定的参考价值。

动态生成select并设置默认选中项:
var htm="";
for (var i = 0; i < bfjlLxr.length; i++)
htm += "<tr class='trsfr' id='"+khid+"_"+i+"'><td align='right'>联系人:</td><td><select class='easyui-combobox' id='sfr"+i+"' name='sfr"+i+"' style='width: 150px'>";
for (var j = 0; j < allLxr.length; j++)
htm+="<option value='"+allLxr[j].lxrid+"'>"+allLxr[j].lxrxm+"</option>";

j=0;
htm+="</select></td></tr>";


$("#bfjledit").html(htm);
$.parser.parse('#bfjlform');

for (var i = 0; i < bfjlLxr.length; i++)
var lxrid=bfjlLxr[i].lxrid;
$("#sfr"+i).combobox('setValue',lxrid);
$("input[name='sfr"+i+"']").val(lxrid);

for (var m = 0; m < bfjlLxr.length; m++)
InitSfrCombox("sfr",m,"不能重复选择受访人");


结果显示是对的,但是实际上绑定的都是张三的value,循环取值:$("#sfr" + i).combobox('getValue'));都是张三的value。求解啊!!!不明白啊!!

这不是标准的easyui的combobox的渲染方式,最好参照API的加载数据一段来,不要生拼html,渲染不一定生效,可以试试$('#控件ID').combobox('reload'); 如果不行最好还是按照API的方式来 参考技术A data-options="multiple:true,panelHeight:'auto',onLoadSuccess:function(a)$('#repaymentType$index ').combobox('clear');$('#repaymentType$index ').combobox('select',$info.repaymentType );" 参考技术B 不是getValue,是getText。建议多看下easyui的API追问

getText得到的是张三, 而不是张三的id啊。。。完全不对题。。

easyui combobox 设置滚动条

技术分享图片

设置滚动条:

1 panelHeight:200  ;设置固定的高度。

panelHeight:‘auto‘, panelMaxHeight:200.

<input class="easyui-combobox"  name="adminGroupId" id="adminGroupId" data-options="panelHeight:‘auto‘,panelMaxHeight:200">

技术分享图片

在我的代码中方法一没有起作用。

以上是关于easyui动态生成combobox并渲染后,设置默认选中项,之后取控件的值都是同一个?的主要内容,如果未能解决你的问题,请参考以下文章

easyUI combox静态动态联动

jquery easyui combobox如何动态加载.json数据

Easyui的渲染

easyui combobox 动态加载的两种方法

easyui combobox 在datagrid中动态加载数据

easyui combobox 设置值