jQuery - 如果父类有类,则删除prop

时间:2016-05-06 13:56:47

标签: jquery validation

我正在构建表单,并使用jquery validate来检查字段。 我有4个子类别,当你点击一个它获得类"选择"并且输入文本正在出现以指定金额。我试图制定一个条件,如果该项目有#34;选择",它会添加“#required”#39;对输入。但如果选择了其他项目,我无法将其删除。这是我的代码:

jQuery('.offres_abo').click(function() {
  jQuery('.offres_abo').removeClass('choice');
  jQuery(this).addClass('choice');
  if (jQuery('.offres_abo').hasClass('choice')) {
    jQuery(".offres_abo.choice input").prop('required', true);
  } else {
    jQuery(".offres_abo.choice input").prop('required', false);
  }
});
<div class="row">
 <div class="col-md-3 offres_abo choice">
  <button type="button" name="button">
   <span class="item_name"><p>Offre d&#8217;essai<br />
    3 COLIS/AN</p>
   </span>
   <span class="item_desc"><p>1 colis par mois (excepté juillet)</p></span>
   <span class="item_price">39 €/an</span>
   <span class="item_price_comp"></span>
  </button>
  <div class="nb_items">
   <span>Quantité x</span>
   <input id="offre_bronze" type="text" name="offre_bronze" required>
  </div>
 </div>

2 个答案:

答案 0 :(得分:0)

在删除课程之前选择需要修改的项目

jQuery('.offres_abo').click(function(){
    jQuery('.offres_abo.choice')
        .removeClass('choice')
        .find('input')
        .prop('required', false);

    jQuery(this)
        .addClass('choice')
        .find('input')
        .prop('required', true);
});

答案 1 :(得分:0)

除了Yury Tarabanko回答之外,如果您想对hasClass项使用$('.offres_abo').each(function() { if($(this).hasClass('choice')) { // code } }); ,可以使用.each()功能。

  service.login = function (obj, callback) {
        $http.post(loginService + "login", obj, {
            withCredentials: true
        }).success(function (data) {
            callback(data);
        })
        .error(function (data, status, headers) {
            console.log(status);
        });
    };