我很好奇什么是获取按钮旁边最接近的选定选项(值)的好习惯。我想出了两种不同的方法,但不确定哪一种更好。
var find1 = $(this).closest('td').find(':selected').val();
var find2 = $(this).closest('td').children().eq(0).val();
我创建了一个 jfiddle 来帮助 http://jsfiddle.net/9kxces0n/3/
如果您好奇我为什么使用:
$(document).on('click', '.get-col3-value', function(){});
这是因为我正在使用“添加行”按钮创建行并且需要能够注册事件。如果我做了一个简单的
$(".get-col3-value").click(function(){});
在表中创建行时不会注册单击事件。
最佳答案
由于它们相邻,我建议 .prev()
Get the immediately preceding sibling of each element in the set of matched elements, optionally filtered by a selector.
var find3 = $(this).prev().val();
您还可以为表提供一个 ID 并执行以下操作
$("#tableid").on("click",".get-col3-value",function() ...
缩短输入路径
普通 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);
}
}
关于javascript - 获得最接近所选选项的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29125128/