繁体   English   中英

如何在 javascript/jquery 中获得选中的复选框标题值?

[英]How can i get a checked Checkbox title value in javascript/jquery?

我想获得 chekbox 标题值。 我怎样才能做到这一点 ?

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

我的功能不起作用..

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

用这个

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

确保选中复选框

$('#chkSingle[type="checkbox"]').filter(function(){return $(this).is(':checked')}).attr('tile')

jQuery:

if ($(this).is(':checked')) {
  alert($(this).attr('title'));
}

Javascript:

改变你从Checked(this);调用Checked(this); Checked(this.id);

你的功能是:

function Checked(checkId) {
  var checkbox = document.getElementById(checkId);
  if(checkbox.checked) {
    alert(checkId);
    ....

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

基于这些评论:

[NOX] - 你能告诉我们你的 GENERATED 代码吗?
[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);
    }
}

你可以试试这样

function Checked(cb) {
            if (cb.checked) {
                alert(cb.getAttribute('title'));
   }
}

你可以这样尝试::

$(':checked').prop('title', function(k) {
        tit[k]= $(this).attr('title');
    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM