2013-04-26 134 views
0

我正在尝试将隐藏的输入字段的值设置为与点击链接的值相同。如何使用Jquery设置隐藏输入字段的值?

这是我尝试它不工作:

$(document).ready(function(){ 
$(".delete_link").click(function(){ 
     var deleteID = $(this).attr("data-value"); 
     $("#delete_value").attr("value") = deleteID; 
    }); 
}); 

变量deleteID是否设置正确。

和参考的形式:

<form name="delete_form" action="delete_post.php" method="POST"> 
    <p>Please confirm you want to delete this post.</p> 
    <input type="submit" id="delete_submit" name="delete_submit" value="confirm" /> 
    <input type="hidden" id="delete_value" value="" /> 
</form> 
+0

使用jQuery的'用于检索数据 - ''*属性,不使用'ATTR( '数据 - *')API'' – Madbreaks 2013-04-26 16:24:25

+0

这里是链接按钮,它具有类的名称.delete_link? – rahularyansharma 2013-04-26 16:24:42

+0

小心提交操作。即使点击触发器被触发,表单也会被提交,并且不保证您的隐藏字段将设置值。您应该处理表单的提交事件而不是删除点击。 – gustavodidomenico 2013-04-26 16:30:17

回答

3

使用VAL方法

$("#delete_value").val(deleteID); 

也为数据的属性,你可能要使用的数据的方法

$(this).data('value'); 

链接:

+0

您已经覆盖了第二个编辑对语法错误的更正。不知何故,我无法自己纠正它。 – 2013-04-26 16:28:50

+0

看起来像别人修复它 – house9 2013-04-26 17:21:39

1

对于需要使用.val()所有表单元素:

$("#delete_value").val(deleteID); 
0

你一个完整的例子(http://jsfiddle.net/79HEY/):

HTML

<form id="deleteform" action="delete_post.php" method="POST"> 
    <p>Please confirm you want to delete this post.</p> 
    <input type="submit" data-id="100" id="delete_submit" name="delete_submit" value="confirm" /> 
    <input type="hidden" id="delete_value" value="" /> 
</form> 

的JavaScript

$(document).ready(function(){ 
    $("#deleteform").submit(function(){ 
     var deleteID = $("#delete_submit").data("id"); 
     $("#delete_value").val(deleteID); 
     return true; 
    }); 
}); 
相关问题