2017-02-10 84 views
0

我正在开发一个c#项目。jQuery有条件地添加/删除onlick和onserverclick属性

我有一个锚标记,我想基于某些条件添加/删除onlick和onserverclick属性。

设计: -

<a class="btnSelected" href="#" name="Platinum" onclick="if (!confirm('Are you sure you want to change the plan?')) return false;" onserverclick="UpdatePackage_Click" runat="server">upgrade</a> 

的jQuery: -

if ($("#" + '<%= hdnPackType.ClientID %>').val() != $("#" + '<%= hdnOrigionalPackType.ClientID %>').val()) {   
     $('a.btnSelected').html('select').attr("onclick", "if (!confirm('Are you sure you want to change the plan?')) return false;"); 
     } 
     else { 
      $('a.btnSelected').html('<i class="fa fa-check mr-10"></i>selected').removeAttr('onclick').removeAttr('href'); 
     } 
+0

你不能属性添加到文本元素 – madalinivascu

+0

我应该去一个按钮? –

+0

我不知道你在做什么 – madalinivascu

回答

0

使用数据属性是你的需要。我为你做了一个例子。

<div class="row text-center"> 
<div class="col-md-4"> 
    plan 1 
    <button class="btn btn-info btnSelect" data-plan="1">select</button> 
</div> 
<div class="col-md-4"> 
    plan 2 
    <button class="btn btn-info btnSelect" data-plan="2">select</button> 
</div> 
<div class="col-md-4"> 
    plan 3 
    <button class="btn btn-info btnSelect" data-plan="3">select</button> 
</div> 

$(".btnSelect").on("click", function() { 
    $(".btnSelect").removeClass("btn-success"); 
    $(this).addClass("selected").addClass("btn-success").removeClass("btn-info"); 
    $("#result").text("Plan " + $(this).attr("data-plan") + " selected"); 
}); 

codepen demo