【发布时间】:2011-07-25 23:38:10
【问题描述】:
我需要这样的代码。 这是一个示例,但不适用于 IE7
http://fiddle.jshell.net/Pc4uT
这些是我的链接:
- 链接 1
- 链接 2
- 链接 3
- 链接 4
- 链接 5
点击链接时必须用链接值填充输入字段。 像这样:1,2,3,4,5
有人可以帮我解决这个问题吗?
【问题讨论】:
标签: jquery internet-explorer-7 onclick
我需要这样的代码。 这是一个示例,但不适用于 IE7
http://fiddle.jshell.net/Pc4uT
这些是我的链接:
点击链接时必须用链接值填充输入字段。 像这样:1,2,3,4,5
有人可以帮我解决这个问题吗?
【问题讨论】:
标签: jquery internet-explorer-7 onclick
使用jQuery的.click(而不是attr("onclick", ...来兼容不同的浏览器并且不返回javascript字符串。您应该避免将任何看起来像脚本的内容放在字符串中。使用这个:
$("a.mylink").each(function(i){
$(this).click(function(){
document.getElementById('row1').value += i + ',';
});
});
【讨论】:
http://fiddle.jshell.net/Pc4uT/37/ 在这里看到它的工作原理
你需要使用click而不是attr
$("a.mylink").click(function (arr) {
if($('#row1').val()==''){
$('#row1').val( $(this).attr('name'));
}else{
$('#row1').val( $('#row1').val()+','+$(this).attr('name'));
}
});
您可以在链接中使用名称来保留链接编号
<a class="mylink" name="1">First Link</a>
<a class="mylink" name="2">Second Link</a>
【讨论】:
您可以将值存储在每个链接的数据属性中:
<a href="#" data-val="1" class="link">Link 1</a>
<a href="#" data-val="2" class="link">Link 2</a>
etc.
然后您可以检索该值并将其插入到输入中:
$('.link').click(function(){
$('#input_id').val($('#input_id').val()+', '+$(this).data('val'));
});
【讨论】:
$(this).val() 应该是 $('#input_id').val() 因为this 是点击链接,而不是输入。