如何发布以字符开头的属性值?

时间:2017-06-29 07:50:29

标签: jquery html css

如您所见,我已经链接和属性,所以我想用这样的ajax发布我的属性:

以"数据记录 - *":

开头的所有属性值



function getContent(par1, data) {

  $.ajax({
    url: par1,
    method: "post",
    success: function(data) {

    }
  });
}


$("a").on("click", () => {
  var getLink = $(this).attr("href");
  const data = $(this).data();
  const postData = {};
  Object.keys(data)
    .filter(key => key.startsWith("record"))
    .forEach(key => {
      postData[key.replace("record", "")] = data[key];
    });
  getContent(getLink, postData);
});

<a href="#" data-record-id="1" data-record-name="section-1">Click on me!</a>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

如果我点击锚所有data-record-*必须用jquery ajax发布我想要这个怎么做?

2 个答案:

答案 0 :(得分:0)

您可以准备数据对象,如:

$('a').on('click',function() {
  var data = {};

  data.record_id   = $(this).data("record-id");
  data.record-name = $(this).data("record-name");

  getContent("some_url", data);
});

然后编写类似的函数:

function getContent(par1, data){
 $.ajax({
        url: par1,
        method: "post",
        data: data,
        success: function(data) {

        }
    });
}

答案 1 :(得分:0)

如果我理解正确,您希望在单击data-records-*元素时对每个具有a属性的元素进行ajax调用:

$('a').on('click',function(){
    $('[data-records-*]').each(function() {
        $.ajax({
            url: par1,
            method: 'post',
            success: function(data) {}
        })
    });
});

不确定这样做的目的是什么,或者如何使用ajax调用中的每个data-records-*元素或par1来自哪个元素,但这就是你要做的事情。