1

我想删除这个属性

class="validate[custom[card]] text-input"

当取消选择包含值“CreditCard”的收音机时,在我名为“card”的输入字段上。这是我的单选框的脚本:

<script>
$(document).ready(function() {
    $("input[name$='sel']").click(function() {
        var test = $(this).val();

        $("div.desc").hide();
        $("#sel" + test).show();
    });
});
</script>

和输入字段

<table><tr><td>

<p> Credit/Debit Card<lable  style="margin-right:1px;"></lable><input
type="radio" name="sel" id="sel"  value="CreditCard"
class="validate[required] radio-input" /> </p> 


<p> Paypal<input type="radio" id="sel"  name="sel" value="Paypal"   />
</p>


<p> Wire Transfer<input type="radio" id="sel"  name="sel"
value="WireTransfer"  /> </p>

<!====================================================================================> 
</td<td>

<!====================================================================================> 
<div id="selCreditCard" class="desc"> <label for="card"><strong>Card
Number<font color=red size=3> *</font></strong></label>
        <input name="card"   type="text"  id="card" value=""  style="width:85px;" class="validate[custom[card]] text-input" />
</div>
<!====================================================================================> 
<div id="selPaypal" class="desc" style="display:
none;margin-left:20px;margin-top:1px;margin-bottom:1px;"> paypal
</div>
<!====================================================================================> 
<div id="selWireTransfer" class="desc" style="display:
none;margin-left:20px;margin-top:0px;margin-bottom:-5px;"> wired
</div>
<!====================================================================================>
</td></tr></table>

当用户取消选择收音机时,该属性将被返回。

4

4 回答 4

0

看来您正在使用 jQuery。您想删除类属性。

在jquery中有removeClass()方法。

所以,你会这样做:

$("input[name$='sel']").removeClass("validate text-input");

注意: * validate[custom[card]] * 是一个非常奇怪的类名称。我怀疑它不是一个类的有效名称。

于 2012-09-24T02:33:20.567 回答
0

要使用 jQuery 删除属性,您可以使用该removeAttr(attrName)方法。要删除特定类,您可以使用removeClass(className)

发布 jquery 示例,因为您似乎正在使用 jquery。

$("#input").removeAttr("class") // removes the entire attr (all classes/values)
$("#input").removeClass("myClass") // removes just the class called myClass
于 2012-09-24T02:37:10.317 回答
0

像这样的东西会起作用:

    var radio_select="";
        $(document).ready(function() {
        if(radio_select!="")
        {
        previous_radio_select_id=radio_select_id;
        if(radio_select=="CreditCard")
        {
        $('.validate[custom[card]] .text-input').removeClass('validate[custom[card]] text-input');
        }
        }
        radio_select=$('form input[type=radio]:checked').val();
radio_select_id=$('form input[type=radio]:checked').attr('id');
        });
于 2012-09-24T02:43:15.113 回答
0

好的解决了我的问题

我用了

<script>
$(document).ready(function() {
    $("input[name$='sel']").click(function() {
        var test = $(this).val();

        $("div.desc").hide();
        $("#sel" + test).show();

     if(test != "CreditCard"){
         $("#card").prop('class','')
         }
     else{
              $("#card").prop('class','validate[custom[card]] text-input')
     }  
    });
});
</script>
于 2012-09-24T03:37:07.583 回答