将值连接到隐藏变量
concatenate values to hidden variable
如何在复选框单击事件中将值连接到带有逗号的hdnfield值。当我点击复选框时,我选择了order并转到JS函数。如果我选中三个复选框,那么hdnfield值应该是1、2、3…类似的。。。怎么做?
if (chkBoxOne != null)
{
chkBoxOne.Attributes.Add("onclick", "javascript:return SelectOne('" + chkBoxOne.ClientID + "','" + e.Row.ClientID + "','" + lblorderId.Text + "')");
//if (chkBoxOne.Checked)
// hdSelectAllOrderId.Value += ((Label)e.Row.FindControl("lblorderId")).Text + ",";
}
function SelectOne(id, rowID, OrderID) {
var AllOrderIDs = 0;
AllOrderIDs = Number(document.getElementById('ctl00_PagePlaceholder_hdSelectAllOrderId').value);
alert(AllOrderIDs);
if (document.getElementById(id).checked == true) {
if (AllOrderIDs == '')
AllOrderIDs = OrderID;
else
AllOrderIDs = AllOrderIDs + ' ,' + OrderID;
}
alert(AllOrderIDs);}
上面的代码不起作用。当我点击第一个复选框时,它会显示第一个ordid,但当我点击第二个时,它不会显示第一个我已经分配给它的ordid。它只显示第二个。。。
var AllOrderIDs = 0;
AllOrderIDs = document.getElementById('ctl00_PagePlaceholder_hdSelectAllOrderId').value;
var IDs = AllOrderIDs.split(',');
if (document.getElementById(id).checked == true) {
if (IDs.indexOf(OrderID) == -1) {
IDs.push(OrderID);
}
}
else {
var index = IDs.indexOf(OrderID);
if (index != -1) {
IDs = IDs.slice(index, 1);
}
}
AllOrderIDs = IDs.join(',');
您在警报后错过了这个:-
document.getElementById('ctl00_PagePlaceholder_hdSelectAllOrderId').value= AllOrderIDs
您错过了那一行:
document.getElementById('ctl00_PagePlaceholder_hdSelectAllOrderId').value = AllOrderIDs;
顺便说一句,不要提及这样的控件。这样做:
document.getElementById('<%=hdSelectAllOrderId.ClientID%>').value = AllOrderIDs;
首先,是的,您忘记将值保存到隐藏字段中。其次,您只是在处理复选框状态变为"已选中"的情况。因此,您不会从隐藏字段中删除ID。如果选中取消选中并再次选中,则会保存重复的ID。我建议您将字符串拆分为ID数组,然后使用它。
<html>
<head>
<script type="text/javascript">
function Select(sender, OrderID)
{
var AllOrderIDs = document.getElementById('hf1').value;
var IDs = AllOrderIDs.split(',');
if (sender.checked == true)
{
if (IDs.indexOf(OrderID.toString()) == -1)
{
IDs.push(OrderID);
}
}
else
{
var index = IDs.indexOf(OrderID.toString());
if (index != -1)
{
IDs.splice(index, 1);
}
}
AllOrderIDs = IDs.join(',');
alert(AllOrderIDs);
document.getElementById('hf1').value = AllOrderIDs;
}
function Check()
{
var AllOrderIDs = document.getElementById('hf1').value;
alert(AllOrderIDs);
}
</script>
</head>
<body>
<input type="hidden" id="hf1" />
<input type="checkbox" id="check1" onclick="Select(this, 1);" />
<input type="checkbox" id="check2" onclick="Select(this, 2);" />
<input type="checkbox" id="check3" onclick="Select(this, 3);" />
<br />
<p> <input type="button" onclick="Check();" value="Check" /> </p>
</body>
</html>
相关文章:
- 将值连接到隐藏变量
- 如何隐藏变量
- Javascript显示窗体的隐藏变量
- 如何在使用servlet处理时使用javascript设置隐藏变量的值
- 获取函数的表单隐藏变量
- 获取从函数到 php 的表单隐藏变量
- JavaScript中的隐藏变量,它是如何工作的
- 使用 AJAX 将隐藏变量解析为另一个 jsp 文件
- JSTL:foreach 循环将值设置为隐藏变量始终返回零
- 使用VB访问Javascript中隐藏变量的值
- 通过javascript设置隐藏变量在Wordpress 3.3.1管理插件页面中不起作用
- 元素.隐藏变量可移植性
- 如何从createRange对象中排除隐藏变量
- 试图在onclick中插入PHP变量,以便设置隐藏变量
- 无法在aspx页面中访问javascript中的代码隐藏变量
- 基于隐藏变量的值执行客户端验证
- 如何在jquery中设置隐藏变量的值
- 如何获得ajax返回id隐藏变量..在请求页面
- 在函数内的函数中赋值隐藏变量
- HTML表单隐藏变量不显示在php