【问题标题】:How can I set the value of a hidden input field using Jquery?如何使用 Jquery 设置隐藏输入字段的值?
【发布时间】:2013-04-20 21:31:12
【问题描述】:

我正在尝试将隐藏输入字段的值设置为与单击链接的值相同。

这是我尝试过的,但不起作用:

$(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>

【问题讨论】:

  • 使用jQuery的data API获取data-*属性,不要使用attr('data-*')
  • 类名为 .delete_link 的链接按钮在哪里?
  • 小心提交操作。即使点击触发器被触发,表单也会被提交,并且不保证您的隐藏字段会设置该值。您应该处理表单的提交事件,而不是删除点击。

标签: javascript jquery jquery-selectors


【解决方案1】:

使用 val 方法

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

对于数据属性,您可能希望使用 data 方法

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

链接:

【讨论】:

  • 您已经覆盖了第二次编辑对语法错误的更正。不知怎的,我自己无法纠正它。
  • 看起来有人修好了
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    一个完整的例子你(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;
        });
    });
    

    【讨论】:

      猜你喜欢
      • 2011-06-15
      • 2011-08-25
      • 2013-10-14
      • 1970-01-01
      • 2018-06-23
      • 2014-04-08
      • 1970-01-01
      • 2014-08-07
      • 1970-01-01
      相关资源
      最近更新 更多