- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这对我来说很难解释,但我会尝试。我有一个 html 文档和一个外部 jQuery 文件。jQuery 文件创建一个带有网格引用的表(不确定这是否是正确的术语)。该表有 12 行和 24 列。左上角单元格的网格从 0,0 开始,右下单元格的网格从 11,23 结束
有一个按钮可以从文本框中获取值(形式为 0,1 或 0,2 等)。然后,该值被传递到 html 页面上的脚本,该脚本调用外部 jQuery 文件。这将从 jQuery 表返回单元格的值(0 或 1)并将其输出到页面。单元格值与单元格的背景颜色相关(例如白色 (1) 或蓝色 (0))。
这一切都运行得很好,但我想替换文本框并以编程方式输入其值。该值永远不会改变,因此文本框浪费了空间。最终它将传递一系列单元格值(但我还没有尝试这样做,因为我必须编辑 jQuery 文件)。因此,单击按钮将使用 html 文档中变量的值,而不是文本框。
不知何故,我需要将文本框 ID 和值传递给按钮代码(以便稍后在页面上运行该函数)。我猜我需要使用我尝试过的另一个函数,但必须传递 id 和值会令人困惑(而且我什至无法传递其中之一)。当然,如果我删除文本框,我会在控制台中收到错误:
(TypeError: $(...).val(...) is undefined).
文本框(我想删除)和按钮(带有我添加的函数调用):
<input type="text" placeholder="0,0" id="J_cellIndex" value="0,0"/><button class="J_sheetControl" id="J_timingGetCol" onclick="TheCell(this.J_cellIndex)">
该函数(正如我现在所拥有的,我知道它非常偏离目标,并且没有向按钮传递任何内容):
function TheCell(J_cellIndex){
var J_cellIndex = "0,6"
console.log(J_cellIndex);
}
脚本:
$("#J_timingGetCol").click(function(ev){
var cellIndex = $("#J_cellIndex").val().split(',');
var cellData = sheet.getColState(cellIndex);
var $dataDisplay = $("#J_dataDisplay") ;
$dataDisplay.html("<b>Cell Data At ["+cellIndex+"] : </b>"+cellData);
});
最佳答案
使用data attributes来存储您的值(value)观。您可以将数据属性
添加到您需要的任何DOM元素(tr
、td
、button
或任何其他元素)您的需求)。如果您不期望任何用户输入,则确实没有充分的理由将这些值存储在 input
元素中。
以下是如何在脚本中使用数据属性
(您甚至不需要 jQuery):
//Note the added data-value attribute//
<button data-value="0,1" class="J_sheetControl" id="J_timingGetCol" onclick="TheCell(this.J_cellIndex)">
//Getting the data and the values//
var button = document.querySelector('#J_timingGetCol');
var buttonDataSet = button.dataset;
var cellIndex = buttonDataSet.value.split(',');
...use the cellIndex as before
关于javascript - 如何用一个按钮替换文本框和按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57544265/
我是一名优秀的程序员,十分优秀!