【发布时间】:2017-09-26 16:48:45
【问题描述】:
好的,我更改了标题,因为我无法使用以前的方法到达任何地方,所以我回到原来的问题:如何将通过 javascript 获得的变量传递给模式弹出窗口上的文本框? 我已经尝试在更新面板内部或外部的父页面上放置一个隐藏字段甚至一个文本框,但是当我单击打开模式弹出窗口的链接按钮时,它们的值被重置为默认值。 我已经搜索并尝试了许多不同的方法,但我无法成功。
我在转发器中有一个表格,我需要知道用户选择的单元格:选择的开始和结束单元格。我用这个 javascript 实现了这一点:
$(function () {
var mouse_down = false;
var row, col; // starting row and column
var $tr;
$("#tblPersonale td")
.mousedown(function () {
$("#col_to").html('?');
mouse_down = true;
// clear last selection for a fresh start
$(".highlighted").removeClass("highlighted");
$(this).addClass("highlighted");
$tr = $(this).parent();
row = $tr.parent().find("tr").index($(this).parent());
col = $tr.find("td").index($(this));
$("#row").html(row);
$("#col_fr").html(col - 1);
return false; // prevent text selection
})
.mouseover(function () {
if (mouse_down) {
$("#col_to").html('?');
if ($tr[0] === $(this).parent()[0]) {
var col2 = $(this).parent().find("td").index($(this)); // current column
var col1 = col;
if (col > col2) { col1 = col2; col2 = col; }
$("#col_fr").html(col1-1);
$("#col_to").html(col2 - 1);
// clear all selection to avoid extra cells selected
$(".highlighted").removeClass("highlighted");
// then select cells from col to col2
for (var i = col1; i <= col2; i++) {
if (col1>1){
$tr[0].cells[i].className = "highlighted";}
}
}
}
})
.bind("selectstart", function () {
return false; // prevent text selction in IE
})
$(document)
.mouseup(function () {
mouse_down = false;
});
});
因此,当用户选择一个或多个单元格时,我会在此处显示开始/结束值:
<span id="col_fr" runat="server" enableviewstate="true">?</span>
<span id="col_to" runat="server" enableviewstate="true">?</span>
然后,当用户单击链接按钮时,我想使用这些值在显示的模式弹出窗口的文本框中写入文本。正如我所说,我无法让它工作,我尝试的任何结果都是当弹出窗口显示时值会丢失,即使我将值分配给全局变量在显示弹出窗口之前。 这是我的链接按钮:
<asp:LinkButton runat="server" ID="lnkAddDip" OnClick="lnkAddDip_Click">
旧问题背后的想法是将值作为参数传递给 url,然后在页面加载中使用它们,但随后表格选择不再起作用,因为在每次选择时,页面都会因 url 更改而刷新. 请任何人,我完全迷失了,而不是因为缺乏尝试!
老问题 asp.net 在 onclientclick 中将控件值作为参数传递
我发现了类似的问题,但没有人回答我的问题(或者至少,我无法使任何工作正常进行)。 我想将一些参数连接到活动页面的 url,例如 Home.aspx?col_fr=2,而不是固定的“2”,我想传递隐藏字段的值。我怎样才能做到这一点?
这是我当前的代码:
<asp:hiddenfield runat="server" id="hdnColonnaDa" EnableViewState="true" />
<asp:LinkButton runat="server" ID="lnkAddDip" OnClick="lnkAddDip_Click" OnClientClick="window.location='Home.aspx?col_fr=2';return false;">
谢谢
【问题讨论】:
-
这种方法的一些细节或外部参考?谢谢
标签: javascript asp.net vb.net webforms