Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   ЧекБокс по ссылке, но не работает другой скрипт (https://javascript.ru/forum/misc/55060-chekboks-po-ssylke-no-ne-rabotaet-drugojj-skript.html)

qwe88 12.04.2015 16:24

ЧекБокс по ссылке, но не работает другой скрипт
 
Добрый день!
Есть чекбокс, который становится активным при нажатии по ссылке (и работает при нажатии просто по чекбоксу). Как только чекбокс активный, то отображается нужный текст (это при нажатии на сам чекбокс). Но при нажатии на ссылку, чекбокс активным становится, а текст не появляется.

Вот сам код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Карта</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<link rel="stylesheet" type="text/css" href="/css/style.css" />
<script src="http://code.jquery.com/jquery-1.11.2.min.js"></script>
<script language="JavaScript" src="/js/oblast.js"></script>


<script>
$(function () {
    var div = $("div.select"), chec = $("input:checkbox", div), b = $("b.select");
    b.data("old", b.text())
    div.on("click", chec, function (a) {
        var text = chec.filter(':checked').parent().text() || b.data("old");
        b.text(text)
    });
})
</script>


</head>

<body>


  <div class="select">
  <label><input onChange="changeButtonState()" type="checkbox" id="snyat" name="check[]" class="qwe" /><div style="display:none;">Появилось слово</div></label>Нажми
  </div>

<a href="#" id="link">
   gal
</a>

</div> 

<b class="select">Поменяется</b>

<script type="text/javascript">
link.onclick = function(){
    snyat.checked = snyat.checked ? false : true;
};

</script>

</body>
</html>

рони 12.04.2015 17:16

qwe88, :-/
<!DOCTYPE html>
<html>
<head>
<title>Карта</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="/css/style.css" />
<script src="http://code.jquery.com/jquery-1.11.2.min.js"></script>
<script language="JavaScript" src="/js/oblast.js"></script>
<script>
$(function () {
    var div = $("div.select"), chec = $("input:checkbox", div), b = $("b.select");
    b.data("old", b.text())
    div.on("click", chec, function (a) {
        var text = chec.filter(':checked').parent().text() || b.data("old");
        b.text(text)
    });
   $("#link").click(function(){
    snyat.checked = snyat.checked ? false : true;
    div.click()
})
})
</script>


</head>

<body>


  <div class="select">
  <label><input onChange="changeButtonState()" type="checkbox" id="snyat" name="check[]" class="qwe" /><div style="display:none;">Появилось слово</div></label>Нажми
  </div>

<a href="#" id="link">
   gal
</a>

<b class="select">Поменяется</b>


</body>
</html>

qwe88 12.04.2015 17:18

СУПЕР!!!!
Спасибо вам огромное!!! То что надо)

jestify 11.10.2016 11:09

А если чекбокс находится на второй странице. Как переходом по ссылке включить чекбокс уже на второй странице?
Я получаю get параметр и ссылка имеет такой вид <a href="/page?parametr=apple">. На второй странице есть элемент <input type="checkbox" name="apple">. на первой странице имеются ссылки на другие фрукты, на второй странице чекбоксы на соответствующие фрукты. Как помечать соответствующий чек-бокс при переходе по ссылке?

рони 11.10.2016 11:37

jestify,
этот вопрос лучше решить на сервере

jestify 11.10.2016 11:49

Каким способом? Покажите хоть направление

laimas 11.10.2016 12:00

Цитата:

Сообщение от jestify
На второй странице есть элемент <input type="checkbox" name="apple">

На второй странице, если говорить о серверном коде, нет ни этого элемента, ни самой страницы, пока она не будет отдана клиенту. То есть на сервере речь идет о выводе. А посему в коде можно проверить:

<input type="checkbox" name="apple" <?=$_GET['parametr']=='apple' ? 'checked' : null?>>


Правда это РНР, а что за серверный язык у вас я не знаю, и при этом, если все страницы обслуживает один скрипт, то не name="apple", а name="<?=$name?>" и <?=$_GET['parametr']==$name ? 'checked' : null?>


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