0

我想获取复选框标题值。我怎样才能做到这一点 ?

<asp:CheckBox ID="chkSingle" runat="server" onclick="Checked(this);" title='<%#Eval("CarServiceFormInvoiceRecordID") %>' />

我的功能不起作用..

function Checked(cb) {
            if (cb.checked) {
                alert(cb.title);
...
4

5 回答 5

2

用这个

$('#chkSingle').attr('title')

确保选中复选框

$('#chkSingle[type="checkbox"]').filter(function(){return $(this).is(':checked')}).attr('tile')
于 2013-05-26T15:27:33.217 回答
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);
    ....

抱歉,在这里看到了一些评论,我监督了你的实际问题。您需要查看生成的标记并查看复选框的标签是如何生成的。将其粘贴到此处,我将告诉您如何访问该值。

于 2013-05-26T15:32:02.090 回答
1

基于这些评论:

[NOX] - 你能告诉我们你的生成代码吗?
[艾哈迈德] -<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);
    }
}
于 2013-05-27T02:23:53.040 回答
0

你可以试试这样

function Checked(cb) {
            if (cb.checked) {
                alert(cb.getAttribute('title'));
   }
}
于 2013-05-26T15:30:05.250 回答
0

你可以试试这样::

$(':checked').prop('title', function(k) {
        tit[k]= $(this).attr('title');
    });
于 2019-12-27T12:42:41.303 回答