Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 大量的onclick元素…或者一些jquery_Javascript_Jquery_Html_Asp.net - Fatal编程技术网

Javascript 大量的onclick元素…或者一些jquery

Javascript 大量的onclick元素…或者一些jquery,javascript,jquery,html,asp.net,Javascript,Jquery,Html,Asp.net,我正在构建一个应用程序,在某一点上生成一个相当大的汇总表(20x~200)。我可以在支持代码中识别的一些单元格(可能是1000个)需要某种onclick绑定。这些单元格的值需要解析为页面上的inputfield 我已经研究了:onclick=genericfonfictioncall(“复制单元数据”)的内联呈现 不知何故,这对我来说还不够现代……:) 因为我正在使用JQuery来处理其他一些东西,所以我想利用它。考虑类绑定和id绑定(必须让我呈现id和大量绑定)。 类绑定是我喜欢的方式。但是因

我正在构建一个应用程序,在某一点上生成一个相当大的汇总表(20x~200)。我可以在支持代码中识别的一些单元格(可能是1000个)需要某种onclick绑定。这些单元格的值需要解析为页面上的inputfield

我已经研究了:onclick=genericfonfictioncall(“复制单元数据”)的内联呈现 不知何故,这对我来说还不够现代……:)

因为我正在使用JQuery来处理其他一些东西,所以我想利用它。考虑类绑定和id绑定(必须让我呈现id和大量绑定)。 类绑定是我喜欢的方式。但是因为我动态地呈现表(Ajax在MVC4中调用partialview并呈现.data),所以我必须使用.on(“click”,…)方法。 我无法找到一种方法来检测我单击哪个TD来确定它的值并将其解析为输入


有人有主意吗?

为所有要分配单击事件的
td
指定一个公共类

使用事件委派,因为要为1000多个元素绑定相同的委派

使用事件中的
上下文获取触发事件的td

$('table').on('click', '.tdClass', function() {
     // this refers to td which triggered the event
});

我对使用jQuery.data()非常满意。可以将任何需要的内容绑定到DOM元素。如果您的服务器有一个JSON响应,下面就是一个使用该响应的示例:

$.get('/url',function(resp){
   $.each(resp,function(k,v){
       // v is json object {"name":"item name","id": 22, "link": "http://www.google.com"}
       var item = $('<li />');
       item.html(v.name);
       item.data('item',v);  //attach your json object to dom element.

       $('ul').append(item);
   });
});
$('ul').on('click','li',function(){
      var data = $(this).data('item') // get your original object 
      alert(data.link) -->> "http://www.google.com"
      // do whatever you need to do.
});
$.get('/url',函数(resp){
$。每个(分别,功能(k,v){
//v是json对象{“name”:“item name”,“id”:22,“link”:http://www.google.com"}
变量项=$(“
  • ”); item.html(v.name); data('item',v);//将json对象附加到dom元素。 $('ul')。追加(项目); }); }); $('ul')。在('click','li',函数()上{ var data=$(this.data('item')//获取原始对象 警报(数据链接)-->>“http://www.google.com" //做你需要做的事。 });
  • 在单击处理程序中,
    是已单击的元素。然后,您可以遍历DOM以查找与事件目标相关的其他元素。我确实使用它来填充.autocomplete输入。但我相信,我希望尽可能接近MVC模式。因此,对于呈现表等,我更喜欢使用MVC4使用PartialView。效果很好。