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

时间:2013-05-26 15:25:46

标签: javascript jquery asp.net

我想获得复选框标题值。我怎么能这样做?

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

我的功能不起作用..

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

5 个答案:

答案 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);
    }
}

答案 3 :(得分:0)

您可以尝试这样

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

答案 4 :(得分:0)

您可以尝试这样::

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