我很好奇在按钮旁边选择最接近的选项(值)时,什么是一个好的做法。我想出了两种不同的方法,但不确定哪一种更好。

var find1 = $(this).closest('td').find(':selected').val();
var find2 = $(this).closest('td').children().eq(0).val();

我创造了一把小提琴来帮忙
http://jsfiddle.net/9kxces0n/3/
如果你好奇我为什么要用:
$(document).on('click', '.get-col3-value', function(){});

这是因为我正在使用“添加行”按钮创建行,并且需要能够注册事件。如果我做了一个简单的
$(".get-col3-value").click(function(){});

在表中创建行时,它不会注册click事件。

最佳答案

因为它们相邻,我建议.prev()
获取匹配元素集中每个元素的前一个同级,可选地由选择器筛选。

var find3 = $(this).prev().val();

你也可以给桌子一个ID然后
$("#tableid").on("click",".get-col3-value",function() ...

缩短输入路径
FIDDLE
素色JS:
function getPreviousSibling(obj) {
  var sib=obj.previousSibling;
  while (sib.nodeType!=1) sib=sib.previousSibling;
  return sib;
}
window.onload=function() {
  var classname = document.getElementsByClassName("get-col3-value");
  var myObj = function(){
   console.log(getPreviousSibling(this).value)
  }

  for(var i=0;i<classname.length;i++){
    classname[i].addEventListener('click', myObj,false);
  }
}

FIDDLE

关于javascript - 获得最接近所选选项的最快方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29125128/

10-13 00:24