首页 > 代码库 > target事件属性

target事件属性

获取下拉框值

技术分享

1、此种方法无法在页面获取到下拉框值

<th field="CLTZDYMC" data-options="formatter: function(value,row,index){return row.CLTZDYMC}"
editor="{type:‘combobox‘,
  options:{
      valueField:‘CLTZDYMC‘,
      textField:‘CLTZDYMC‘,
      url:‘common_getCltzdymcJson.action‘,
      panelHeight:‘350‘,
      onChange:function(newValue,oldVlue){
      var testTmp = $(this).parents(‘.datagrid-row-editing‘);
      var parentDom = testTmp.parents(‘.datagrid-view‘);
      var childDom1 = parentDom.children(‘div.datagrid-view2‘);
      var childDom2 = childDom1.find(‘tr.datagrid-row-editing‘);
      var tmpCltzdymc = testTmp.children(‘td[field=CLTZDYMC]‘);
      var tmpFsclms = testTmp.children(‘td[field=FSCLMS]‘);
        $.ajax({
          url:‘common_getFsclmsJson.action?newVal=‘+encodeURI(encodeURI(newValue)),
          async:true,
          method:‘post‘,
          success:function(r){
            var jsonobj = eval(r);
            (childDom2.children(‘td[field=FSCLMS]‘).find(‘div.datagrid-cell‘)).html(jsonobj[0].FSMS);
          }
        });
      }
    }
}"
width="250" align="center" rowspan="2">
刺漏台账对应名称
</th>

2、最后通过target事件获取到了此下拉框值

function editInfo(index){
  editorRow=index;
  var row = $(‘#dg‘).datagrid(‘getSelected‘);//先获取到当前选中行
  var rindex = $(‘#dg‘).datagrid(‘getRowIndex‘, row);//根据当前行获取,当前行的下标
  $(‘#dg‘).datagrid(‘cancelEdit‘, rindex);
  $(‘#dg‘).datagrid(‘selectRow‘, index);
  $(‘#dg‘).datagrid(‘updateRow‘, {
    index: index,
    row: {
      CZ: ""
    }
  });
  $(‘#dg‘).datagrid(‘beginEdit‘, index);

  var ed = $(‘#dg‘).datagrid(‘getEditor‘, { index: index, field: ‘FCLYS‘ });
  $(ed.target).bind(‘change‘, function () {
  var editor = $(‘#dg‘).datagrid(‘getEditor‘, {index:index,field:‘CLTZDYMC‘});
  var editor2 = $(‘#dg‘).datagrid(‘getEditor‘, {index:index,field:‘FCLYS‘});
  var cltzdymcVal = $(editor.target).combobox(‘getValue‘);
  var fclysVal = $(editor2.target).val();
  if((cltzdymcVal!=null && ""!=cltzdymcVal) && (fclysVal!=null && ""!=fclysVal)){
     $(editor2.target).val(fclysVal+"<a href=http://www.mamicode.com/‘#‘ title=‘请确认刺漏台账对应名称与腐蚀刺漏因素是否有误!‘ class=‘easyui-tooltip‘>");
  }else{
    $(editor2.target).val(fclysVal);
  }
  });

}

=======target=======================================================================================================

target 事件属性可返回事件的目标节点(触发该事件的节点),如生成事件的元素、文档或窗口。

target需要通过形参event才能拿到对象,this则通过类名或者id就能拿到当前触发函数对象

 

event.target与this的区别:

  event.target表示发生点击事件的元素;

  this表示的注册点击事件的元素;

  this是所有函数原生具有的。进入函数事,this已经直接有了目标对象。

  而e.target通过e在寻找target,中转了一下。所以相比较而言,this的执行效率更高些。

<div><img src="http://www.mamicode.com/……"></div>

<script>

  $(‘div‘).click(function(){

    e.target表示事件触发元素这里会是img

    this 始终指向绑定事件的元素也就是div

  });

</script>

=======currentTarget================================================================================================

currentTarget 事件属性返回其监听器触发事件的节点,即当前处理该事件的元素、文档或窗口。

捕获起泡阶段,该属性是非常有用的,因为在这两个节点,它不同于 target 属性。

捕获、冒泡------->详解http://www.cnblogs.com/hh54188/archive/2012/04/09/2343357.html

技术分享

 

target事件属性