javascript - 每行具有多个输入字段的网格

标签 javascript jquery html

我有一个“网格”,每行有几个输入字段。假设每个输入字段代表一周中的一天。

html:

<table id="grid">
    <tr>
        <td><input class="fri" type="text" value="foo" /></td>
        <td><input class="mon" type="text" value="bar" /></td>
        <td><input class="tue" type="text" value="baz" /></td>
        <td><input class="wed" type="text" value="x" /></td>
        <td><input class="thu" type="text" value="y" /></td>
    </tr>
    ...

jQuery:

$('#grid').on('change', '.fri', function () {
    var value = $(this).val();
    //do something
});

$('#grid').on('change', '.mon', function () {
    var value = $(this).val();
    //do something
});

// And so on...

可以有任意数量的行,所有行都具有相同的字段。

我做了一个工作 fiddle我正在尝试做的事情。

但是,我觉得我(使用 jQuery)重复得太多了,我想知道是否有一种方法可以更简洁地完成上述操作(最好使用 jQuery)。

最佳答案

您可以使用元素选择器而不是使用单独的 ID 然后绑定(bind)它们:

$('#grid').on('change', 'input:text', function () {
   var value = $(this).val();
   //do something
});

此外,如果您在同一个表格中有其他不想定位的文本框,则使用多类选择器:

$('#grid').on('change', '.fri,.mon,.tue', function () {
  var value = $(this).val();
  //do something
});

关于javascript - 每行具有多个输入字段的网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28709716/

相关文章:

javascript - 尝试从我的 Node 服务器加载脚本文件 - 获取 404

javascript - vue js vue-slider-component 如何更新 Prop

Javascript - 带有 requestAnimationFrame 的面向对象 Canvas 游戏

javascript - 在我添加数据转换之前,Knockout JS 与 Ratchet 和 push.js 配合得很好

javascript - 简单的 Javascript 不工作 - Jquery

javascript - 当我在javascript中按下新字符时如何替换最后一个特殊字符

html - 使 "special"在 Chrome 中移动的 Div 宽度

javascript - 如何在现有的浏览器选项卡中打开网址?

JavaScript 添加十进制数字问题

jquery - 应用淡入时出现问题