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