Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Значение checked при нажатии на ссылку (https://javascript.ru/forum/jquery/63493-znachenie-checked-pri-nazhatii-na-ssylku.html)

Step48_rus 10.06.2016 14:15

Значение checked при нажатии на ссылку
 
Привет ,подскажите пожалуйста
<div>
<input id="ac-1" name="accordion-1" type="checkbox" />\
<a href="">Открыть</a>
</div>
<div>
<input id="ac-2" name="accordion-1" type="checkbox" />\
<a href="">Открыть</a>
</div>
как сделать,что бы при нажатии на <a> ,четбокс принимал значение cheked, именно в нужном диве, а надпись "открыть" менялась на "Закрыть"

Царь Леонид 10.06.2016 14:52

$(function(){
  $('input[type=checkbox]').on('change', function(){
    $(this).prop('checked')? 
      $(this).next().text('Закрыто'):
      $(this).next().text('Открыто')
  })
})($)


Ссылка на песочницу

Step48_rus 10.06.2016 15:14

Не совсем то,нужно что бы при нажатии на ссылку юзался чекбокс и менялся текст,а у вас при нажатии на четбокс

рони 10.06.2016 15:47

Step48_rus, текст меняется от значения checked, независимо на что нажать на ссылку
или сам чекбокс, придумайте нужным дивам класс.$("точкаВАШклассДЛЯди в").each(function
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">

 </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>

  <script>
$(function() {
    $("div").each(function(d, a) {
        var c = $("a", a)[0],
            b = $('[name="accordion-1"]', a)[0];
        $().add(b).add(c).on("click", function(a) {
            a.target == c && (b.checked = !b.checked,true) && a.preventDefault();
            $(c).text(["Открыть", "Закрыть"][+b.checked])
        })
    })
});
  </script>
</head>

<body>
<div >
 <input id="ac-1" name="accordion-1" type="checkbox" />\
 <a href="">Открыть</a>
 </div>
 <div>
 <input id="ac-2" name="accordion-1" type="checkbox" />\
 <a href="">Открыть</a>
 </div>

</body>
</html>

рони 10.06.2016 15:53

Step48_rus,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.


Часовой пояс GMT +3, время: 20:57.