javascript - 获得最接近所选选项的最快方法

标签 javascript jquery html

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

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() ...

缩短输入路径

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/

相关文章:

php - 来自 html 中单个页面的多个 Web 服务请求

javascript - 无效的字符串长度错误

javascript - 具有不同逻辑的类似 React 组件

javascript - 使用 D3 画笔进行细粒度事件处理

javascript - 在 Rails 中自动提交 HTML 选择下拉列表

html - CSS 移动端一列,桌面端两列

html - 为什么轮播下一个按钮和圆形按钮不起作用

javascript - 在表格中追加数组?

JQuery UI 可排序 - 如何在容器为空时添加文本

javascript - 如何正确地将单击的按钮属性值传递给表单提交事件?