javascript - $(this).val() 不返回值标签的值

标签 javascript jquery

我正在尝试获取 value -我的<a>的属性-tag,在下面的示例中 999 。请参阅下面我的最小可行示例:

<!DOCTYPE html>
<html>

<head>
  <title>Jquery Modal</title>
</head>

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>

<script>
  $(document).ready(function() {
    //display modal form for product EDIT ***************************
    $(document).on('click', '.open_modal', function() {
      var cryptos_id = $(this).val();
      console.log("cryptos_id: " + cryptos_id)
    });

  });
</script>

<body>
  <div>
    <tr>
      <a id="coo99" value="999" class="open_modal" data-target="#myModal">
        <sup> EDIT</sup>
      </a>
    </tr>
  </div>

  <!-- MODAL SECTION -->
  <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">×</span>
                </button>
          <h4 class="modal-title" id="myModalLabel">Edit</h4>
        </div>
        <div class="modal-body">
          <form id="frmProducts" name="frmProducts" class="form-horizontal" novalidate="">
            <div class="form-group error">
              <label for="inputName" class="col-sm-3 control-label">Name: </label>
              <div class="col-sm-9">
                <input type="text" class="form-control has-error" id="name" name="name" placeholder="Country of Origin" value="">
              </div>
            </div>
          </form>
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-primary" id="btn-save" value="update">Edit Entry</button>
          <input type="hidden" id="product_id" name="product_id" value="101">
        </div>
      </div>
    </div>
  </div>

</body>

</html>

当您按EDIT时按钮crypto_id目前没有返回任何内容,但是我想获得 value - 属性 - 999 - 我的a -标记回来。

有什么建议我做错了什么吗?

最佳答案

值仅适用于表单字段元素。您需要改用数据属性:

$(document).on('click', '.open_modal', function() {
  var cryptos_id = $(this).data('value');
  console.log("cryptos_id: " + cryptos_id)
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<a id="coo99" class="open_modal" href="#" data-value="999" data-target="#myModal">Open Modal</a>

关于javascript - $(this).val() 不返回值标签的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48027049/

相关文章:

javascript - 通过 jquery 检查特定 <td> 中是否存在项目

javascript - Razor - 将 Json 结果从 Controller 转换为复杂对象

jquery - 添加 jquery 文件后更新面板不工作

javascript - 使 TinyMCE 跟随文本区域内的 anchor

javascript - 如何使用 jquery mobile css 类自定义文本框

javascript - 如何延迟加载 CSS 背景图片?

javascript - 以编程方式声明 dijit.form.select 的值

javascript - 尝试在reactJS中单击表格上的行来获取行信息

javascript - 如果条件在 jquery 中不起作用

javascript - 如何删除字符串的一部分并保存到变量中?