使用 jQuery 单击时从作为数组的按钮 ID 获取键
Posted
技术标签:
【中文标题】使用 jQuery 单击时从作为数组的按钮 ID 获取键【英文标题】:Get Key From a Button ID That is an Array When Clicked With jQuery 【发布时间】:2021-04-20 12:04:32 【问题描述】:嗨,我对 jQuery 有点陌生。我正在尝试从按钮 id 中获取键值,该按钮 id 在单击时是一个数组,如下所示:
<button id="button[1]">Submit</button>
<button id="button[2]">Submit</button>
<button id="button[3]">Submit</button>
<button id="button[4]">Submit</button>
预期的结果是单击时是 1 或 2 等。
在 php 中,我可以通过获取数组的名称来实现这一点,如下所示:
<html>
<button name="button[1]">Submit</button>
<button name="button[2]">Submit</button>
<button name="button[3]">Submit</button>
<button name="button[4]">Submit</button>
</html>
<?php
key($_POST['button']);
?>
如何使用 jQuery 实现这一点?
【问题讨论】:
向按钮添加data-id
属性并读取该属性
【参考方案1】:
id
属性是您赋予元素的唯一标签,它是一个字符串值,应仅用于选择。所以首先你不能只将字符串button[1]
转换为数组,但这是对id
的滥用。
您应该使用value
属性来分享此类信息,例如<button id="button1" value="1">text here</button>
并使用$('#button1').value()
阅读它
【讨论】:
【参考方案2】:$( "button[name^='button']" ).on('click',function()
var str = ($(this).attr('name'));
var matches = str.match(/(\d+)/);
alert(matches[0]);
);
这将在所有具有按钮名称值的按钮上创建一个单击侦听器。所以当你点击它时,它会提醒当前点击按钮名称键属性值
【讨论】:
【参考方案3】:我会建议一种更好的方法来管理这种情况,您可以使用按钮id
属性,您可以为每个按钮分配一个唯一编号:
<html>
<button id="1">Submit</button>
<button id="2">Submit</button>
<button id="3">Submit</button>
<button id="4">Submit</button>
</html>
并创建一个 jquery 函数来捕捉按钮上的点击事件:
$(document).ready(function()
$('button').on('click', function()
$(this).attr('id'); // here you get the id value of selected button
【讨论】:
以上是关于使用 jQuery 单击时从作为数组的按钮 ID 获取键的主要内容,如果未能解决你的问题,请参考以下文章
MVC 问题在按钮单击时从 JSon 对象填充 JQuery DataTable
React Hook 在单击 2 个不同的按钮时从 APi 获取数据