首页 > 解决方案 > 如何使用 jQuery 在 html 中连接和传递参数值

问题描述

我正在使用 jQuery 从 ajax rest 调用中获取值,我试图将这些值连接到一个“a”标签中,以便为我的结果创建一个分页部分(附图片)。

我正在发送 HTML (divHTMLPages) 但结果格式不正确且无法正常工作,我尝试使用双引号和单引号但仍然格式不正确。所以,我想知道这是否是完成创建分页所需的好方法。'a' 标记将触发带有四个参数的 onclick 事件(查询休息呼叫、部门、行限制和显示的起始行)

  if (_startRow == 0) {
    console.log("First page");
    var currentPage = 1;
    // Set Next Page
    var nextPage = 2;
    var startRowNextPage = _startRow + _rowLimit + 1;
    var query = $('#queryU').val();     
    // page Link
    divHTMLPages = "<strong>1</strong>&nbsp;";
    divHTMLPages += "<a href='#' onclick='getRESTResults(" + query + "', '" + _reg + "', " + _rowLimit + ", " + _startRow + ")>" + nextPage + "</a> ";
    console.log("Next page: " + nextPage);
  }

提前感谢您对此的任何帮助。

分页

标签: javascriptjquery

解决方案


与其尝试在 HTML 字符串中键入函数应如何调用,不如将事件侦听器附加到相关元素上要优雅得多。例如,假设您要插入元素的父元素被调用parent,您可以执行以下操作:

const a = document.createElement('a');
a.href = '#';
a.textContent = nextPage;
a.onclick = () => getRESTResults(query, _reg, _rowLimit, _startRow);
parent.appendChild(a);

一旦附加了事件侦听器,就像上面一样onclick,请确保不要更改innerHTML容器innerHTML += <something>的,或使用(它不会重新解析整个容器的内容)。createElementappendChildinsertAdjacentHTML


推荐阅读