Дадаць клас CSS для аднаго з бацькоў кнопкі радыё, калі правяраецца з дапамогай JQuery

Я спрабую дадаць клас CSS да div.from маёй радыё-кнопкі, калі ён усталяваны. Затым выдаліць, калі ён не ўстаноўлены.

<�Моцны> І HTML:

<div style="width:49.5%;height:auto;float:left;" class="from">






                                    

</div>

<�Моцны> CSS


<�Моцны> Вось што я прыдумаў у JQuery:

<script>
$(document).ready(function() {
  $('input:radio').click(function() {
    $('input:radio[name='+$(this).attr('name')+']').parent().removeClass('checked11');
        $(this).parent().addClass('checked11');

    });
});

</script> 

вось мая праблема ў тым, што клас ўжыванне для радыё-кнопкі толькі, але хоча, каб падаць заяўку на div.from

Дзякуй. Naresh Kamireddy

3
добра, з бацькоў() не патрэбен параметр, проста напісаць $ (гэта) .parent ()
дададзена аўтар Alex, крыніца
Такім чынам, вы хочаце, каб стыль div.from , калі адзін з яго нашчадка радыёстанцый правяраецца. У гэтым выпадку я мяркую, што ў вас ёсць некалькі .from дзівы з рознымі групамі радыё?
дададзена аўтар Simon, крыніца
Такім чынам, вы хочаце, каб стыль div.from , калі адзін з яго нашчадка радыёстанцый правяраецца. У гэтым выпадку я мяркую, што ў вас ёсць некалькі .from дзівы з рознымі групамі радыё?
дададзена аўтар Simon, крыніца
Вы павінны быць ясна, пра тое, што вы на самай справе хочаце. У сваім пытанні вы кажаце, што хочаце, каб стыль «бацькоўскі DIV», але ў каментарах вы кажаце «DIV з класам .СОМ», які не робіць занадта шмат сэнсу, бо ўсе вашы радыёпрыёмнікі ў гэтым справах. Ня вы на самой справе хочаце, каб стыль кожнага радыёстанцыі бліжэйшы div.fromm ?
дададзена аўтар Simon, крыніца
Вы павінны быць ясна, пра тое, што вы на самай справе хочаце. У сваім пытанні вы кажаце, што хочаце, каб стыль «бацькоўскі DIV», але ў каментарах вы кажаце «DIV з класам .СОМ», які не робіць занадта шмат сэнсу, бо ўсе вашы радыёпрыёмнікі ў гэтым справах. Ня вы на самой справе хочаце, каб стыль кожнага радыёстанцыі бліжэйшы div.fromm ?
дададзена аўтар Simon, крыніца
Ваш прыклад працуе. ён прымяняе checked11 для DIV, якія дапускаюць радыё клас. jsfiddle.net/fq8Zn
дададзена аўтар Chamika Sandamal, крыніца
Я хачу, каб прымяніць яго для div.from
дададзена аўтар user2361114, крыніца
Я хачу, каб прымяніць яго для div.from
дададзена аўтар user2361114, крыніца
Cant мы паказваем шлях з быць ужытыя
дададзена аўтар user2361114, крыніца
Cant мы паказваем шлях з быць ужытыя
дададзена аўтар user2361114, крыніца

7 адказы

Калі я правільна разумею, ёсць 2 патрабаванні да гэтага пытання.

<�Моцны> Пры выбары кнопкі радыё: </моцны>

  1. Клас CSS checked11 павінен быць <�моцны> дададзены аднаму з бацькоў абранай кнопкі радыё.
  2. Клас CSS checked11 павінен быць <�моцны> выдаленыя ад любых бацькоў зараз ужо не выбраных перамыкачоў.

Калі гэта так, то наступны павінен працаваць:

var $radioButtons = $('input[type="radio"]');
$radioButtons.click(function() {
    $radioButtons.each(function() {
        $(this).parent().toggleClass('checked11', this.checked);
    });
});

jsFiddle дэманстрацыя

7
дададзена

Here's the FIDDLE

  $('input:radio').click(function() {
      $('input:radio').parent().removeClass('checked11');
      $(this).parent(this).addClass('checked11');
  });
3
дададзена
усё тая ж праблема прыходзіць, калі я быў рэалізацыі ў маім кодзе, замест прымянення для <div клас = «з»>/div> ён прымяняе для <div клас = "радыё»>/DIV>
дададзена аўтар user2361114, крыніца

Нарэшце я атрымаў мой адказ ....

$(document).ready(function() {
    var $radioButtons = $('input[type="radio"]');
$radioButtons.click(function() {
    $radioButtons.each(function() {
        $(this).closest('.fromm').toggleClass('checked11', this.checked);
    });
});
});

Дзякуй за ўсё, марнаваць свой каштоўны час на маё пытанне ....

1
дададзена

У вас таксама ёсць трохі дзіўны селектар ўваходу.

$ (Гэта) з'яўляецца клікаў элемента, вам не трэба шукаць для ўваходных радыёпрыёмнікаў, імя якога супадае з імем, па якіх пстрыкнулі уваходнае, за ўсё выкарыстоўваць $ (гэта) - і $ (гэта) .parent (), каб выбраць пстрыкнуў бацька:

$(document).ready(function() {
  $('input:radio').click(function() {
    $(this).parent().removeClass('checked11').addClass('checked11');
    });
});
0
дададзена
ну, вы атрымаеце паведамленне пра памылку? што кажа ваша кансоль?
дададзена аўтар Alex, крыніца
я зрабіў невялікія змены ў код, і яна працуе ідэальна, дзякуй
дададзена аўтар user2361114, крыніца
дзякуй за ваш адказ, але да гэтага часу ён не працуе ....
дададзена аўтар user2361114, крыніца

<�Моцны> EDIT:

 $(this).closest('.fromm').addClass('checked11');
0
дададзена
як аб выкарыстанні .closest ()
дададзена аўтар Jude Duran, крыніца
калі вы хочаце дадаць клас на «ад», а затым змяніць «.radio» да «.З»
дададзена аўтар Jude Duran, крыніца
калі бліжэй() азначае, што для бліжэйшага сваёй працы прымяняе DIV, але я хачу, каб падаць заяву на DIV, які клас «ад»
дададзена аўтар user2361114, крыніца
с, што ён таксама не працуе
дададзена аўтар user2361114, крыніца

<�Моцны> EDIT:

 $(this).closest('.fromm').addClass('checked11');
0
дададзена
як аб выкарыстанні .closest ()
дададзена аўтар Jude Duran, крыніца
калі вы хочаце дадаць клас на «ад», а затым змяніць «.radio» да «.З»
дададзена аўтар Jude Duran, крыніца
калі бліжэй() азначае, што для бліжэйшага сваёй працы прымяняе DIV, але я хачу, каб падаць заяву на DIV, які клас «ад»
дададзена аўтар user2361114, крыніца
с, што ён таксама не працуе
дададзена аўтар user2361114, крыніца

Гэта павінна працаваць:

$(document).ready(function(){
   $('input:radio').change(function(){
      var $self = $(this);
      if ($self.prop('checked')) {
         $self.parent().addClass('checked11');
      } else {
         $self.parent().removeClass('checked11');
      }
   });
});

[Edit] http://jsfiddle.net/jtpU6/1/

$(document).ready(function(){
   $('input:radio').change(function(){
      $('div:has(input:radio)').removeClass('checked11');
      var $self = $(this);
      if ($self.prop('checked')) {
         $self.parent().addClass('checked11');
      }
   });
});
0
дададзена
У якасці альтэрнатывы вы можаце выкарыстоўваць toggleClass , напрыклад: $ self.parent() toggleClass ( 'checked11', $ self.prop ( 'праверыў')); .
дададзена аўтар Richard, крыніца
Змяніў код няшмат: jsfiddle.net/jtpU6/1
дададзена аўтар mkdevoogd, крыніца
Вы можаце стварыць дэма ..
дададзена аўтар user2361114, крыніца
гэта таксама не працуе
дададзена аўтар user2361114, крыніца