jq绑定动态参数问题

hljt512 2016-02-26 10:01:49

<button onclick="get('customer/modify.cj?sortid=' +customer.ID)">编辑</button>
<button onclick="get('customer/delete.do?id='+customer.ID)">删除</button>

customer.ID是通过点击页面中某个列表获取到的值,这个值是不确定的,之前通过onclick可直接获取到,因为onclick中允许存在js代码,所以可以很方便的获取到。

现在代码改为:

<button url="customer/modify.cj">编辑</button>
<button url="customer/delete.do">删除</button>

通过获取url属性,再绑定事件到节点上,来实现跳转,这个时候,要怎么获取到参数customer.ID呢,而且参数有时候不止一个,参数名称也不一定customer.ID,也可能是user.ID,这个时候应该怎么来处理参数呢。
...全文
215 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hljt512 2016-02-26
  • 打赏
  • 举报
回复
引用 3 楼 danding_ge 的回复:
[quote=引用 2 楼 hljt512 的回复:] [quote=引用 1 楼 danding_ge 的回复:] 改成url是为什么呢?没道理啊!
        function editItem() {
            var item = document.getElementById("btnEdit");
            var customerId = item.dataset.customerId;
            var customerName = item.dataset.customerName;
        }
    <button data-customerId="1" data-customerName="小明" id="btnEdit" url="customer/modify.cj" onclick="editItem()">编辑</button>
不知道你的绑定事件是怎么写的,我就用onclick代替了,这里data-*是可以自定义的。
改成url是为了隐藏url,事件绑定完了之后再删除掉url属性,这里不能使用data-customerName="小明"这种形式,因为参数是通过点击其它节点获取到的,所以想来想去,还是onclick合适[/quote]通过点击其它节点获取到的参数不影响使用data-*啊!为什么不能用,你删了url会把整个button属性都删了?[/quote] 整个节点是这样:

<button url="customer/modify.cj">编辑</button>
<button url="customer/delete.do">删除</button>

<table>
    <tr rowid="1"><td>客户一</td></tr>
    <tr rowid="2"><td>客户二</td></tr>
    <tr rowid="3"><td>客户三</td></tr>
..................
</table>
对button绑定的方法:

var get = function(obj){
    var config=obj.data;
    var url = config.url+$.getUrlLike(config.url)+"timestamp="+(new Date)*1;
    $.get(url, function (obj) {
       ...............
    });
};
每次点击表格行的时候,就会将rowid写入customer.ID这个对象里面,如果在节点上用onclick的话,就可以直接获取到customer.ID这个对象,但现在的方式就没办法获取到customer.ID,因为get方法不知道有个customer.ID对象存在
公西雒 2016-02-26
  • 打赏
  • 举报
回复
引用 2 楼 hljt512 的回复:
[quote=引用 1 楼 danding_ge 的回复:] 改成url是为什么呢?没道理啊!
        function editItem() {
            var item = document.getElementById("btnEdit");
            var customerId = item.dataset.customerId;
            var customerName = item.dataset.customerName;
        }
    <button data-customerId="1" data-customerName="小明" id="btnEdit" url="customer/modify.cj" onclick="editItem()">编辑</button>
不知道你的绑定事件是怎么写的,我就用onclick代替了,这里data-*是可以自定义的。
改成url是为了隐藏url,事件绑定完了之后再删除掉url属性,这里不能使用data-customerName="小明"这种形式,因为参数是通过点击其它节点获取到的,所以想来想去,还是onclick合适[/quote]通过点击其它节点获取到的参数不影响使用data-*啊!为什么不能用,你删了url会把整个button属性都删了?
hljt512 2016-02-26
  • 打赏
  • 举报
回复
引用 1 楼 danding_ge 的回复:
改成url是为什么呢?没道理啊!
        function editItem() {
            var item = document.getElementById("btnEdit");
            var customerId = item.dataset.customerId;
            var customerName = item.dataset.customerName;
        }
    <button data-customerId="1" data-customerName="小明" id="btnEdit" url="customer/modify.cj" onclick="editItem()">编辑</button>
不知道你的绑定事件是怎么写的,我就用onclick代替了,这里data-*是可以自定义的。
改成url是为了隐藏url,事件绑定完了之后再删除掉url属性,这里不能使用data-customerName="小明"这种形式,因为参数是通过点击其它节点获取到的,所以想来想去,还是onclick合适
公西雒 2016-02-26
  • 打赏
  • 举报
回复
改成url是为什么呢?没道理啊!
        function editItem() {
            var item = document.getElementById("btnEdit");
            var customerId = item.dataset.customerId;
            var customerName = item.dataset.customerName;
        }
    <button data-customerId="1" data-customerName="小明" id="btnEdit" url="customer/modify.cj" onclick="editItem()">编辑</button>
不知道你的绑定事件是怎么写的,我就用onclick代替了,这里data-*是可以自定义的。

87,984

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧