我有一个用于添加一些信息名称的表单,例如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
?
答案 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()
中使用正则表达式来完成这项工作。
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;
此外,您只能使用javascript
var val = document.getElementById("ADD_ICON").name.match(/\[(\d+)\]/)[1];