【发布时间】:2018-07-20 14:42:19
【问题描述】:
我想这是一个非常基本的问题,但我真的没有解决问题。
在打开一个模态弹出窗口之前,我正在用 js 读出三个数据目标。
var x = 2;
$('#confirm-delete').on('show.bs.modal', function(e) {
$(this).find('.btn-ok').attr('onclick', 'location.href=\'' + $(e.relatedTarget).data('href') + '\'');
$(this).find('input.timee').val($(e.relatedTarget).data('timess'));
$(this).find('input.prodtotext').val($(e.relatedTarget).data('prodid'));
$("#proddropchange").val(x.toString()).trigger('change');
});
此代码运行良好,但我想删除将数据目标“data-prodid”放入输入“prodtotext”的第 4 行。作为回报,我想读出数据目标“data-prodid”并将这个值放入“var x = 2”
我正在使用该值设置下拉列表的预选值,该值在每个打开的模式弹出窗口中都不同。
我认为应该有效的方法:
$('#confirm-delete').on('show.bs.modal', function(e) {
$(this).find('.btn-ok').attr('onclick', 'location.href=\'' + $(e.relatedTarget).data('href') + '\'');
$(this).find('input.timee').val($(e.relatedTarget).data('timess'));
$("#proddropchange").val(x.toString()).trigger('change');
var x = $(this).data("prodid");
});
【问题讨论】:
-
这是一种代码味道,您的
x是在尝试使用它的行之后立即定义的。您还验证过e.relatedTarget和this是同一个东西吗? -
1.是的,并且不在我的实际代码中。 2.没有。
-
嗯 e.relatedTarget 和这不一样,这是一个问题,请参阅我的解决方案。
-
很高兴你明白了,:)
标签: javascript jquery target