2 xy makq xy_makq 于 2015.07.01 00:08 提问

再次请教easyui combobox复制后 焦点错位
动态添加一行表格,添加后发现新生成的combobox下拉菜单焦点始终在第一行上。
    简要页面代码如下:
    <tbody>
                        <tr id="create">
                            <td><input id="cc" name="dept"  style="width: 85px;"></td>
                        ...省略其他
                </tbody>

                            jq('#cc').combobox({
                        data:combobox,
                        valueField:'id',
                        textField:'text',
                        onSelect:function(){
                             ...省略
                                        });

                                 }
                            }     
                    });
    复制代码如下:
    var tempTr = jq("tbody tr:last").clone(true);
                jq("tbody tr:last").after(tempTr);
    问题截图:![图片说明](https://img-ask.csdn.net/upload/201506/30/1435679975_544549.png)
     问题分析: 问题应该JS生成combobox时,因为<input id="cc"     id引起的问题,每次上一行并生成新一行id都是 cc,所以焦点会始终指向第一行。但不指定id    

如何用JS生成combobox? (

 <select id="style" name="style">
                                    <option selected="selected" value="">   </option>
                                       <option value="国标">国标</option>
                                       <option value="非国标">非标</option>

                            </select> 

这种方法是可以的,但如何用JS生成?)

另外,通过修改 jq("tbody tr:last").clone(true)中的参数也是不行的。

    请问一下,怎样才能解决?多谢

1个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.07.01 01:03
已采纳
不要id,下面是select方式的。easyui一样,都去掉id和name,通过标签或者class初始化组件。
 <!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js">
</script>
<script>
$(document).ready(function(){
});
function selectchange(t){
  alert($(t).parents('tr')[0].rowIndex);//获取select所在tr
}
function cloneTR(){   
   var tempTr = $("tbody tr:last").clone(true);
   $("tbody tr:last").after(tempTr);
}
</script>
</head>
<body>
<input type='button' value='增加一行' onclick='cloneTR()'/>
<table>
  <tbody>
  <tr>
     <td>1</td>
     <td>
         <select onchange='selectchange(this)'>
            <option value='1'>国标</option>
            <option value='2'>非国标</option>
         </select>
     </td>
  </tr>
  </tbody>
</table>
</body>
</html>

xy_makq
xy_makq 十分感激!
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
EasyUI获取combobox焦点问题
转:http://www.myexception.cn/ajax/1022706.html   $('#ab_Police1id').combobox('textbox').bind('focus',function(){ $('#ab_Police1id').combobox('showPanel');
EasyUI Combobox获得焦点的使用方法
$('#xxx').combobox({ data,[], onLoadSuccess:function(){ $('#xx').next('.combo').find('input').focus(function (){ alert('Focus'); }); 注意:焦点事件必须在combobox内部绑定否则不会生效
easyui combobox获取到焦点自动展开下拉列表
easyui combobox获取到焦点自动展开下拉列表
easyui combo 派生类 combobox, combogrid 失去焦点后的输入框的数据验证问题
问题,当我在combobox里输入数据后,直接tab或者鼠标点击其它地方,输入框里的数据不会去匹配是否属于数据源的一项。而回车事件是会激发检验数据的检验。 解决思路:通过实验希望 combo 的下拉框能再用户手动输入数据的情况下也可以自动检验,本质上就是跟enter事件一样 查看源代码发现 combo的inputevents已经没有了blur事件,所以失去焦点的时候类本事没
easyui下拉框复制粘贴时遇到的不显示问题
1. 使用easyui-combobox,众所周知,combobox是以id,name形式(或key/value)存在的,而从页面上进行如下操作时偶尔会遇到一个问题: 复制一条下拉框已包含的数据到下拉框中,不要使用鼠标点击下拉框加载的内容,点击保存按钮时,并没有保存name; 下拉框代码:
jquery easyui combobox失去焦点事件,datetimebox失去焦点事件
$("#a").combobox('textbox').bind('blur', function(e) { if(null == $('#b').val() || $('#b').val().trim() == ''){ $('#a').val(""); } });
easyui-textbox的onblur失去焦点事件
easyUI的form表单中有很多种类型的标签,easyui-validate、easyui-textbox、easyui-combox、easyui-datebox、easyUI-datetimebox等等。 在使用easyui-textbox时,想通过onblure()事件做一些处理,可是,事件总不被触发。一个最基本最简单的onblure(),怎么可能不执行?先来看两行代码,看完,你
easyui的ComboBox和DateBox复制
大致说一下场景,就是一个表单,表单内有添加按钮,点击添加按钮,增加一行输入内容。先来说正确的打开方式 JS代码(文件名为form.js)$(function () { var model = $('#model').html(); //保存渲染前的模板 $('#model').css("display","none"); //隐藏模板 //增加按钮 $('.add')
extjs combobox下拉框显示位置问题
问题描述:(下拉框显示的不在combobox的下端) 问题代码: { //baseCls:"x-plain",//强制与颜色 匹配 layout:"form", labelWidth:55, columnWidth:.14, item
使easyui combobox控件支持上下键切换数据选项
使用combobox控件时,其操作方式为: 使用鼠标点击▼图标,显示panel后,使用鼠标点击,或者键盘的上下键来选择数据。 而录入人员习惯全键盘操作,不希望选择时还使用鼠标。其目标就是:当其获取焦点时,希望能使用键盘的上下键来选择数据。 为达到这个目标,就分析了easyui combobox的源代码,发现其设计人员已经考虑了这这种情况,只是提供的方法中限制只有当panel显示的时候才允许选