Javascript 使用数据的jqueryattrib
好的,我对这一部分感到困惑,但我已经遵循了指导原则,当我应用它时,仍然将数据属性而不是值放置到隐藏的输入中 下面是HTML代码Javascript 使用数据的jqueryattrib,javascript,jquery,html,Javascript,Jquery,Html,好的,我对这一部分感到困惑,但我已经遵循了指导原则,当我应用它时,仍然将数据属性而不是值放置到隐藏的输入中 下面是HTML代码 <div class="aside"> <a href="#" class="user1" data-userid="1">User Name 1</a> <a href="#" class="user2" data-userid="2">User Name 2</a> </div> <
<div class="aside">
<a href="#" class="user1" data-userid="1">User Name 1</a>
<a href="#" class="user2" data-userid="2">User Name 2</a>
</div>
<form action="" method="post" class="form1">
<input type="hidden" value="">
<textarea name="msg" id="" cols="30" rows="10"></textarea>
</form>
我想获取UserID数据的值并将其传递给隐藏的输入。
我觉得我在那里,但仍然给我错误的属性而不是值。请稍作解释。您需要获取所单击的
A
$(".aside a").on("click", function (e) {
e.preventDefault();
$(this).closest('.aside').next().find("input").attr('data-userid', $(this).data('userid'));
});
演示:
还有,您想设置属性还是隐藏元素的值
$(".aside").find("a").on("click", function(e){
e.preventDefault();
$("input").val($(this).attr('data-userid'));
});
试试这个:
$(".aside a").on("click", function(e) {
e.preventDefault();
var userID = $(this).data('userid');
$('.form1 input[type="hidden"]').val(userId);
});
使用.data()
:
单击代码:
$(".aside").find("a").on("click", function(){
$(this).offsetParent().find(".form1 input").attr('data-userid', $('input').attr('value'));
$("#form1 input").val($(this).data('userid'));
});
由于您不动态加载任何DOM元素,因此使用jQuery的click()函数而不是on('click')会更方便,因为它更可读且易于调试 试试这个
$('.aside a').click(function(e){
$('input[type=hidden]').val($(this).data('userid'));
e.preventDefault();
});
您好,先生,谢谢您的回答,但是我发现您的语句在隐藏输入中创建了另一个数据用户ID…@user852916我不确定您的意思。您的问题表明您正试图使用单击的a元素的data属性设置隐藏输入的值。哦,我的糟糕。。。我现在明白了。我已经检查了JSFIDLE中的源代码。。无论如何,谢谢。通过添加一个解释来改进您的答案,解释为什么这会有助于选择。答案与Rory的答案几乎相同,但是在这种情况下,单击()比单击效果更好。
$(".aside").find("a").on("click", function(){
$(this).offsetParent().find(".form1 input").attr('data-userid', $('input').attr('value'));
$("#form1 input").val($(this).data('userid'));
});
$(".aside").find("a").on("click", function(){
$(".form1 input").attr('value',$(this).attr('data-userid'));
});
$(".aside a").click(function(e) {
e.preventDefault();
var userID = $(this).data('userid');
$('.form1 input[type="hidden"]').val(userId);
});
$('.aside a').click(function(e){
$('input[type=hidden]').val($(this).data('userid'));
e.preventDefault();
});