如何获得" ID"来自"名称[ID] [OTHER]"在使用jquery的元素属性中?

时间:2017-03-12 18:36:19

标签: javascript jquery html regex attributes

我有一个用于添加一些信息名称的表单,例如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

2 个答案:

答案 0 :(得分:0)

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

package com.example;

import com.fasterxml.jackson.databind.MapperFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Before;
import org.junit.Test;


import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;

public class Test {

private ObjectMapper mapper;

public static class A{

    private int test;

    public int getTest() {
        return test;
    }

    public void setTest(int test) {
        this.test = test;
    }
}

@Before
public void setUp(){
    mapper = new ObjectMapper();
    mapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true);
}

@Test
public void deserialise() throws Exception {
    String json = "{\"test\":\"2\"}";
    assertThat(mapper.readValue(json, A.class).getTest(), is(2));
}

@Test
public void deserialiseIgnoringCase() throws Exception {
    String json = "{\"Test\":\"2\"}";
    assertThat(mapper.readValue(json, A.class).getTest(), is(2));
}

答案 1 :(得分:0)

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

&#13;
&#13;
var val = $("#ADD_ICON").attr("name").match(/\[(\d+)\]/)[1];
console.log(val);
&#13;
<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">...
&#13;
&#13;
&#13;

此外,您只能使用javascript

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