首页 > 解决方案 > 根据 id 和数据属性 jquery 获取值

问题描述

我有一个输入字段和一个提交按钮,像这样

<label for="name" class="col-sm-2 col-form-label">name</label>
<input type="text" class="form-control" id="name" data-belongsto="<?php echo  $id; ?>" value="<?php echo $name; ?>">

<button type="button" class="update_record btn btn-primary mb-3 mt-2" id="<?php $id; ?>">Update</button>

我有这样的脚本

/*Document Ready */
$(document).ready(function () {

    $(document).on('click', '.update_record', function() {
        let btnId= $(this).attr("id");
        let name = //store name value if id == "name" and data-belongsto == btnId
    });

});

如果 id == "name" 和 data-belongsto == btnId,我想做的是取出名称值并将其存储在变量中

标签: jquery

解决方案


首先,您应该避免将“name”用作任何元素的 id,因为 name 是用于各种HTML 输入元素的属性,这可能会导致问题,因为表单内的输入可以使用它们的 name 属性来解决,因此我使用了 'nm'的'名字'。

如果我理解正确,这就是您获得所需值的方法:

$(document).on('click', '.update_record', function() {
   let btnId= $(this).attr("id");

   // get the element via css selector using jquery and store its value
   let name = $(`input#nm[data-belongsto=${btnId}]`).val();
});

推荐阅读