我最近想实现选中页面上的某一行,然后默认选中该行的radio按钮
具体代码如下
js函数
$(function () {
$("#tab tr").click(function () {
// $(this).find(":radio").prop("checked", true);
$(this).find("input[type='radio']").prop("checked", true);
});表格
<ItemTemplate>
<tr style='cursor: pointer;' onclick ="selectline()">
<td>
<input name ="check" type="radio" />张三</td>
</tr>
</ItemTemplate>在页面上我做了一个button,button有验证动作,由于验证不通过直接返回
代码如下
<li>
<asp:LinkButton CssClass="btqxh" ID="End" runat="server" OnClick="EndData">结束</asp:LinkButton>
</li> protected void EndData(object sender, EventArgs e)
{
return;
}
在没点击一个button是 选中table的一行,可以默认选中当前行的radio,但是点击完button之后,该功能失效,请大神帮忙看看 该怎么解决
具体代码如下
js函数
$(function () {
$("#tab tr").click(function () {
// $(this).find(":radio").prop("checked", true);
$(this).find("input[type='radio']").prop("checked", true);
});表格
<ItemTemplate>
<tr style='cursor: pointer;' onclick ="selectline()">
<td>
<input name ="check" type="radio" />张三</td>
</tr>
</ItemTemplate>在页面上我做了一个button,button有验证动作,由于验证不通过直接返回
代码如下
<li>
<asp:LinkButton CssClass="btqxh" ID="End" runat="server" OnClick="EndData">结束</asp:LinkButton>
</li> protected void EndData(object sender, EventArgs e)
{
return;
}
在没点击一个button是 选中table的一行,可以默认选中当前行的radio,但是点击完button之后,该功能失效,请大神帮忙看看 该怎么解决
比较粗暴的办法,就是js把选中行记录到服务器的hidden控件。
那么后台刷新,也不会把hidden擦掉。然后js中判断Hidden如果有值,则选中该行的checkbox
比较粗暴的办法,就是js把选中行记录到服务器的hidden控件。
那么后台刷新,也不会把hidden擦掉。然后js中判断Hidden如果有值,则选中该行的checkbox
我可能没说明白,点击页面上的button之后,js的函数就执行不到了,就是我无论如何点击页面的上一行,都无法执行,您说的是记录,可是我点击button之后,我不是要保留选择的radio,我是希望再选择一行也能选中一个radio
比较粗暴的办法,就是js把选中行记录到服务器的hidden控件。
那么后台刷新,也不会把hidden擦掉。然后js中判断Hidden如果有值,则选中该行的checkbox
我可能没说明白,点击页面上的button之后,js的函数就执行不到了,就是我无论如何点击页面的上一行,都无法执行,您说的是记录,可是我点击button之后,我不是要保留选择的radio,我是希望再选择一行也能选中一个radio
那是你js的问题。Js用 live来绑定新增行的click事件。
比较粗暴的办法,就是js把选中行记录到服务器的hidden控件。
那么后台刷新,也不会把hidden擦掉。然后js中判断Hidden如果有值,则选中该行的checkbox
我可能没说明白,点击页面上的button之后,js的函数就执行不到了,就是我无论如何点击页面的上一行,都无法执行,您说的是记录,可是我点击button之后,我不是要保留选择的radio,我是希望再选择一行也能选中一个radio
那是你js的问题。Js用 live来绑定新增行的click事件。
是这样吗?
$(function () {
$('#tab tr').bind('click', function () { $(this).find("input[type='radio']").prop("checked", true); });
});
修改之后 还和以前的现象一样吗
$(function () {
$('#tab tr').bind('click', function () { $(this).find("input[type='radio']").prop("checked", true); });
});
我是用这个方法 之后 现象还是一样啊?
$(function () {
$('#tab tr').bind('click', function () { $(this).find("input[type='radio']").prop("checked", true); });
});
我是用这个方法 之后 现象还是一样啊?$(function () {
$('#tab tr').bind('click', function () { $(this).find("input[type='radio']").prop("checked", true); });
});
我是用这个方法 之后 现象还是一样啊?
把bind换成on也不行
$(function () {
$('#tab tr').on('click', function () { $(this).find("input[type='radio']").prop("checked", true); });
});
我使用的jQuery1.9 live编译不过去,使用on也还是不行啊
但是你的on写法不对。
应该是
$('#tab').on("click","tr",function(){
alert("x");
})
但是你的on写法不对。
应该是
$('#tab').on("click","tr",function(){
alert("x");
})
非常感谢你,我按照你的写法改了,但是不好用,现在的现象是点击完button之后,根本就执行不到 $(function () {}里面的内容了,无论我放什么js函数都不行,是不是 $(function () {}在执行完服务器代码有什么限制吗?
照道理来说除非你后台对前台Js有改动,不然button的刷新还是会再次执行 $(function () {}这个加载动作的。
<tr style='cursor: pointer;' onclick ="selectline()">
<td>
<input name ="check" type="radio" />张三</td>
</tr>
</ItemTemplate>
所以这个是什么东西