<%GoodsDao goodDao=new GoodsDaoImpl();
List<Goods> ls;
if(goodId==null) ls= goodDao.findAll();
else ls=goodDao.findAllByType(Integer.parseInt(request.getParameter("id")));
for(Goods goods:ls){%>
<input type="hidden" id="test" value="<%=goods.getId()%>" >
<input type="button" value="购物" onclick="verify()" /><br/>
<%}%>
因为我想用ajax传送给servlet函数处理
js代码:
var value = $("#test").val();
$.get("shopping_cart?id=" + value,null,callback);
这种情况,value得到的数值总是第一个数值,因为 id相同,请问有什么办法解决这个问题??
10 个解决方案
#1
问题是,你想一次取得 一个值?
还是多个值 ?
还是多个值 ?
#2
要么就设法让id不同,比如带后缀序号。
要么就用name属性来做查找,表达式中可以指定序号,也可以按value做过滤,jQuery的选择器都支持。
要么就用name属性来做查找,表达式中可以指定序号,也可以按value做过滤,jQuery的选择器都支持。
#3
我想点击一次取一个值,这样就可以方便我处理是否选择。谢谢回复
#4
有想过,但是,如果使用你说的设置id,那么js如何每次都获取不同的id的值呢?表达式中指定序号?这个没有用过,可否详细解说?谢谢
#5
按属性值来选择节点,比如:
$("input[value='hello']")
其中[]就是做属性选择的,可以同时做多个属性选择,用多个[][]即可
$("input[value='hello']")
其中[]就是做属性选择的,可以同时做多个属性选择,用多个[][]即可
#6
另一种按顺序号选择,比如:
$("input:eq(2)")
这就是选择第三个(从0开始计数)。
$("input:eq(2)")
这就是选择第三个(从0开始计数)。
#7
for(Goods goods:ls){%>
<input type="hidden" id="test" value="<%=goods.getId()%>" >
<input type="button" value="购物" onclick="verify("<%=goods.getId() %>")" /><br/>
<%}%>
-------js------
function verify(value){
$.get("shopping_cart?id=" + value,null,callback);
}
给分,给分
<input type="hidden" id="test" value="<%=goods.getId()%>" >
<input type="button" value="购物" onclick="verify("<%=goods.getId() %>")" /><br/>
<%}%>
-------js------
function verify(value){
$.get("shopping_cart?id=" + value,null,callback);
}
给分,给分
#8
也可以
<input type="button" value="购物" onclick="verify(this)" /><br/>
function verify(element){
var value = element.previousSibling.value;
$.get("shopping_cart?id=" + value,null,callback);
}
#9
还可以
for(Goods goods:ls int i=0;i<ls.size();i++){
Goods goods = (Goods)ls.get(i)
%>
<input type="hidden" id="test<%=i%>" value="<%=goods.getId()%>" >
<input type="button" value="购物" onclick="verify("<%=i%>")" /><br/>
<%}%>
function verify(index){
var id = "#test"+index
var value = $(id).val();
......
}
代码可能会有问题,按这思路应该能搞出来
反正就一句,给分,给分,别费话,我可是记着你的名字呢
for(Goods goods:ls int i=0;i<ls.size();i++){
Goods goods = (Goods)ls.get(i)
%>
<input type="hidden" id="test<%=i%>" value="<%=goods.getId()%>" >
<input type="button" value="购物" onclick="verify("<%=i%>")" /><br/>
<%}%>
function verify(index){
var id = "#test"+index
var value = $(id).val();
......
}
代码可能会有问题,按这思路应该能搞出来
反正就一句,给分,给分,别费话,我可是记着你的名字呢
#10
非常感谢你的解答,问题已经解决,没想到还可以用参数传递,脑子一时短线
#1
问题是,你想一次取得 一个值?
还是多个值 ?
还是多个值 ?
#2
要么就设法让id不同,比如带后缀序号。
要么就用name属性来做查找,表达式中可以指定序号,也可以按value做过滤,jQuery的选择器都支持。
要么就用name属性来做查找,表达式中可以指定序号,也可以按value做过滤,jQuery的选择器都支持。
#3
我想点击一次取一个值,这样就可以方便我处理是否选择。谢谢回复
#4
有想过,但是,如果使用你说的设置id,那么js如何每次都获取不同的id的值呢?表达式中指定序号?这个没有用过,可否详细解说?谢谢
#5
按属性值来选择节点,比如:
$("input[value='hello']")
其中[]就是做属性选择的,可以同时做多个属性选择,用多个[][]即可
$("input[value='hello']")
其中[]就是做属性选择的,可以同时做多个属性选择,用多个[][]即可
#6
另一种按顺序号选择,比如:
$("input:eq(2)")
这就是选择第三个(从0开始计数)。
$("input:eq(2)")
这就是选择第三个(从0开始计数)。
#7
for(Goods goods:ls){%>
<input type="hidden" id="test" value="<%=goods.getId()%>" >
<input type="button" value="购物" onclick="verify("<%=goods.getId() %>")" /><br/>
<%}%>
-------js------
function verify(value){
$.get("shopping_cart?id=" + value,null,callback);
}
给分,给分
<input type="hidden" id="test" value="<%=goods.getId()%>" >
<input type="button" value="购物" onclick="verify("<%=goods.getId() %>")" /><br/>
<%}%>
-------js------
function verify(value){
$.get("shopping_cart?id=" + value,null,callback);
}
给分,给分
#8
也可以
<input type="button" value="购物" onclick="verify(this)" /><br/>
function verify(element){
var value = element.previousSibling.value;
$.get("shopping_cart?id=" + value,null,callback);
}
#9
还可以
for(Goods goods:ls int i=0;i<ls.size();i++){
Goods goods = (Goods)ls.get(i)
%>
<input type="hidden" id="test<%=i%>" value="<%=goods.getId()%>" >
<input type="button" value="购物" onclick="verify("<%=i%>")" /><br/>
<%}%>
function verify(index){
var id = "#test"+index
var value = $(id).val();
......
}
代码可能会有问题,按这思路应该能搞出来
反正就一句,给分,给分,别费话,我可是记着你的名字呢
for(Goods goods:ls int i=0;i<ls.size();i++){
Goods goods = (Goods)ls.get(i)
%>
<input type="hidden" id="test<%=i%>" value="<%=goods.getId()%>" >
<input type="button" value="购物" onclick="verify("<%=i%>")" /><br/>
<%}%>
function verify(index){
var id = "#test"+index
var value = $(id).val();
......
}
代码可能会有问题,按这思路应该能搞出来
反正就一句,给分,给分,别费话,我可是记着你的名字呢
#10
非常感谢你的解答,问题已经解决,没想到还可以用参数传递,脑子一时短线