【问题标题】:How to get "ID" value from "name[ID][OTHER]" in attribute of element using jquery?如何使用 jquery 从元素属性中的“name[ID][OTHER]”获取“ID”值?
【发布时间】:2017-03-12 18:36:19
【问题描述】:

我有一个表格用于添加一些信息名称,例如name[ID][other]

<select id="ADD_ICON" name="ADD_LINK[123][ICON]" class="bs-select form-control change_add_link" data-show-subtext="true" data-width="65px">...

现在我想在 jQuery 中使用它。为此,我必须访问此元素的 ID。 我怎样才能得到ID——在上面的例子中——我怎样才能得到123

【问题讨论】:

标签: javascript jquery html regex attributes


【解决方案1】:

基本上你要求这行代码。我建议先尝试用谷歌搜索您的问题。

var name=$(select).attr('name');
var matches = name.match(/\[(.*?)\]/);
var number=matches[1];

【讨论】:

  • 不,如果我这样做,我会得到“ADD_LINK[123][ICON]”,但我的问题是如何才能只获得 ID 的“123”部分
  • 你的意思是'name'属性不是id
  • 是的,抱歉不是 id = 属性,我的意思是名称中间的 ID“123” - 我怎样才能得到它们?
【解决方案2】:

您应该获得元素的name 属性,然后尝试选择该字符串的特定部分。您可以在String.prototype.match() 中使用正则表达式来完成这项工作。

var val = $("#ADD_ICON").attr("name").match(/\[(\d+)\]/)[1];
console.log(val);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="ADD_ICON" name="ADD_LINK[123][ICON]" class="bs-select form-control change_add_link" data-show-subtext="true" data-width="65px">...

你也只能使用javascript

var val = document.getElementById("ADD_ICON").name.match(/\[(\d+)\]/)[1];

【讨论】:

    猜你喜欢
    • 2012-11-06
    • 2017-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-01
    • 1970-01-01
    相关资源
    最近更新 更多