首页 > 解决方案 > 在单击时将按钮的值分配给全局变量,在函数外部声明

问题描述

var x=0;
$(document).ready(function() {

    $("div button").on("click", function(event) {
        x = $(this).html();
    }) ;
}) ;
console.log(x);

我在 div 元素中有 5 个按钮,我希望通过将 fhe 按钮的值分配给函数外部的变量来单击他们单击时的值。

在此处输入图像描述

标签: javascriptjquery

解决方案


所以.. Erm.. 你想要做的是.. 当按钮 X 被点击时,你想使用 X 值作为 Arr[X] 中的索引来显示 LST 块中的内容吗?

由于您将数据作为 html 提取,这就像一个字符串,我猜在使用它之前,您需要先对 int 进行强制转换。

将值添加为属性可能会更好,这样您就可以在按钮上写下除数字之外的其他内容..

并且不要忘记数组从 0 开始计数,而您的按钮从 1 开始计数,因此您需要减去 1 才能获得 arr 的第一个元素。或者您可以在您的 arr 中添加一个空元素,例如:

var arr = [{rId:0, hNo:""}, ...
// In which case you wouldn't need to subtract 1. 

无论如何,与您当前的线路有关,它将是:

$('div button').click(function (event) {
   var x = parseInt($(this).html()) - 1;
   $('#lst').html(arr[x].rId + " " + arr[x].hNo);
});

如果您要使用 button 的值,它会像:

HTML:

<button value='1'>Click this amazing button that blows your mind..</button>

脚本:

$('div button').click(function () {
    var x = $(this).val();
    $('#lst').html(arr[x].rId + " " + arr[x].hNo);
});

如果我没听错,那就是。


推荐阅读