我想获得复选框标题值。我怎么能这样做?
<asp:CheckBox ID="chkSingle" runat="server" onclick="Checked(this);" title='<%#Eval("CarServiceFormInvoiceRecordID") %>' />
我的功能不起作用..
function Checked(cb) {
if (cb.checked) {
alert(cb.title);
...
答案 0 :(得分:2)
使用此
$('#chkSingle').attr('title')
确保选中复选框
$('#chkSingle[type="checkbox"]').filter(function(){return $(this).is(':checked')}).attr('tile')
答案 1 :(得分:1)
jQuery的:
if ($(this).is(':checked')) {
alert($(this).attr('title'));
}
使用Javascript:
将您的来电从Checked(this);
更改为Checked(this.id);
你的职责是:
function Checked(checkId) {
var checkbox = document.getElementById(checkId);
if(checkbox.checked) {
alert(checkId);
....
抱歉,在这里听到一些评论,我监督你的实际问题。您需要查看生成的标记,并查看如何生成复选框的标签。将其粘贴到此处,我将告诉您如何访问该值。
答案 2 :(得分:1)
基于这些评论:
[NOX] - 您能否向我们展示您的生成代码?
[Ahmet] -<input id="chkSingle" type="checkbox" name="ctl00$c1$RadGrid1$ctl00$ctl04$chkSingle" onclick="Checked(this);">
输出中未生成title
属性。为什么?我真的不知道。让我们一步一步地检查它。
首先,将您的复选框更改为:
<asp:CheckBox ID="chkSingle" runat="server" onclick="Checked(this);" title='HELLO' />
如您所见,我更改了title
属性的值。检查输出,如果您没有任何title
属性,请尝试将其更改为data-title
:
<asp:CheckBox ID="chkSingle" runat="server" onclick="Checked(this);" data-title='HELLO' />
现在检查一下你生成的代码,它必须是这样的(我希望如此):
<input id="chkSingle" type="checkbox" name="ctl00$c1$RadGrid1$ctl00$ctl04$chkSingle" onclick="Checked(this);" data-title="Hello">
如果在生成的代码中,属性data-title
存在,那么您就成功了。
现在您必须更改您的函数以获取此属性:
alert(cb.getAttribute('data-title'));
在评论时,生成的代码为:
<span data-title="HELLO"><input id="ctl00_c1_RadGrid1_ctl00_ctl04_chkSingle" type="checkbox" name="ctl00$c1$RadGrid1$ctl00$ctl04$chkSingle" onclick="Checked(this);" /></span>
因此,您附加到<asp:Checkbox />
的属性变为span
标记。所以你必须将你的功能改为:
function Checked(cb) {
var $input = $(cb);
var $span = $input.closest('span');
var title = $span.attr('data-title');
if ($input.is(':checked')) {
alert(title);
}
}
data-title
恢复为title
属性。答案 3 :(得分:0)
您可以尝试这样
function Checked(cb) {
if (cb.checked) {
alert(cb.getAttribute('title'));
}
}
答案 4 :(得分:0)
您可以尝试这样::
$(':checked').prop('title', function(k) {
tit[k]= $(this).attr('title');
});