gpt4 book ai didi

javascript - 如何用一个按钮替换文本框和按钮

转载 作者:行者123 更新时间:2023-12-02 23:06:59 25 4
gpt4 key购买 nike

这对我来说很难解释,但我会尝试。我有一个 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元素(trtdbutton或任何其他元素)您的需求)。如果您不期望任何用户输入,则确实没有充分的理由将这些值存储在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com