jquery - 获取表单的ID?

标签 jquery closest

我使用以下代码将事件附加到表单的提交按钮:

$('form.manage-users-form').on('click','button.special',function() {

    if ($(this).hasClass('selected')){
        console.log('This user is already special');
    } else {

        $(this).parent().find('button').removeClass('selected');
        $(this).addClass('selected');

        var user_id = $(this).closest("form[id]").val();

        console.log('This user is now special');
        console.log(user_id);
    }
    return false;
});

您可以看到,我也在尝试获取表单的 id,但是当我检查控制台时,我得到(空字符串)。为什么会这样以及如何正确获取表单的 ID?

最佳答案

你尝试过吗?

var user_id = $(this).closest("form").attr('id');

元素的id是一个属性,您可以使用.attr()提取任何属性(包括id)。

.val() 用于提取元素的值,这在表单中没有任何意义。

更多信息:

.val()
.attr()

关于jquery - 获取表单的ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9685177/

相关文章:

jquery - 如何使用jQuery来处理click、dblclick分离中的计时器

php - 提供奇怪 URL 的工具提示子菜单链接

javascript - 如何在 jQuery 中的每个单击事件中 append 文本 x 次?

javascript - 为 Openseadragon 添加注解

javascript - 根据输入的 zip 填充州和城市?

javascript - 检测是否支持方法closest()

javascript - Ajax Php 相关下拉选择 - 如何将城市名称而不是 id 发布到数据库中(从数据提交)?

php - 选择距离按钮最近的文本区域

射线和边界框之间的距离

jquery - 用jquery的closest()遍历td/tr