Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Пытаюсь проверить checkbox на активность (https://javascript.ru/forum/misc/45380-pytayus-proverit-checkbox-na-aktivnost.html)

Alex_dark74 26.02.2014 13:24

Пытаюсь проверить checkbox на активность
 
<table>
  <tr>
    <td><img id="disc" src="../pic/disk/clear.gif" width="230" height="297" /></td>
    <td><input id="disc" type="checkbox" />Печать на диске</td>
  </tr>
</table>
<button onclick="t()" >Проверить</button>
<script>

function t(){
  if ($("#disc").is(':checked') == 'checked'){
    alert('on');
  }
  else {
    alert('off');
  }
  //$("#disc").attr("src",'../pic/disk/print.gif');
}
//по окончании загрузки назначаем переменную для отображения картинки
$(document).ready(function(){
  var img = 0;
  //alert(img);
});


Хоть отмечен он хоть нет все равно выдает "off"

рони 26.02.2014 13:36

Цитата:

Сообщение от Alex_dark74
== 'checked'

это лишнее

рони 26.02.2014 13:40

Alex_dark74,
полюбопытсвуйте что такое id да и тогда id для чекбокса придумайте

Alex_dark74 26.02.2014 13:42

function t(){
  if ($("#disc").is(':checked')){
    alert('on');
  }
  else {
    alert('off');
  }
  //$("#disc").attr("src",'../pic/disk/print.gif');
}
//по окончании загрузки назначаем переменную для отображения картинки
$(document).ready(function(){
  var img = 0;
  //alert(img);
});

та же беда!

ksa 26.02.2014 13:45

Цитата:

Сообщение от Alex_dark74 (Сообщение 299589)
<table>
  <tr>
    <td><img id="disc" src="../pic/disk/clear.gif" width="230" height="297" /></td>
    <td><input id="disc" type="checkbox" />Печать на диске</td>
  </tr>
</table>
<button onclick="t()" >Проверить</button>
<script>

Ну прям хоть лозунги развешивай! ИД должен быть уникальным на странице!!!

Т.ч. начни хоть с этого...

Alex_dark74 26.02.2014 13:49

Да ребята! Вы правы!
Спасибо!

Alex_dark74 26.02.2014 14:15

Продолжаю бороться!!!
function print_for_disc(){
  var y = 1;
  if ($("#disc").is(':checked')){
    img = (img + 2);
    alert(img);
    $("#d").attr("src",'../pic/disk/print.gif');
  }
  else {
    $("#d").attr("src",'../pic/disk/clear.gif');
    img = (img - 2);
    alert(img);
  }
}
//по окончании загрузки назначаем переменную для отображения картинки
$(document).ready(function(){
  var img = 0;
  alert(img);
});

почему то ни img = (img + 2); ни img = (img - 2); не работают выдает
img is not defined
ведь я переменную img определил после загрузки страницы!

рони 26.02.2014 14:28

Alex_dark74,
невидно вашей переменной - из одной функции в другую без изврата незаглянешь -- уберите строки 15 и 18

ksa 26.02.2014 14:37

Цитата:

Сообщение от Alex_dark74
Продолжаю бороться!

Бороться не нужно... Нужно просто уметь пользоваться языком и его особенностями.
Бороться с ними бесполезное и не нужное занятие.

ruslan_mart 26.02.2014 15:09

function print_for_disc() {
  var y = 1, checked = $("#disc").is(':checked')
  img += checked ? 2 : -2;
  $("#d").prop("src", '../pic/disk/' + (checked ? 'print' : 'clear') + '.gif');
}

var img = 0;

Alex_dark74 26.02.2014 19:22

<form>
  <table>
    <tr>
      <td style="width: 230 px;"></td>
      <td>
        <div style="position: relative;z-index: 2;" ><img id="d" src="../pic/disk/clear.gif" width="230" height="297" /></div>
        <div style="position: relative;z-index: 1; top: -297px;"><img id="b" src="../pic/disk/non_box.gif" width="230" height="297" /></div>
      </td>
      <td style="text-align: left; padding-left: 20px; vertical-align: top;">
        <p style="font-weight: bold; color: white; margin-bottom: 0px;">Количество</p>
        <input style="border: silver solid 1px;" name="number" class="calc" id="number" />
        <p style="font-weight: bold; color: white; margin-bottom: 0px;">Тип диска</p>
        <select name="type_disc" class="calc" id="type_disc">
          <option value="cd">CD диск (700 мб)</option>
          <option value="dvd">DVD диск (1.4 гб)</option>
        </select>
        <p style="font-weight: bold; color: white; margin-bottom: 0px;">Выберите услугу</p>
        <input onclick="print_for_disc()" id="print" name="print" type="checkbox" />Печать на диске<br />
        <input onclick="burn()" id="burn" name="burn" type="checkbox" />Запись на диск
        <p style="font-weight: bold; color: white; margin-bottom: 0px;">Упаковка</p>
        <select onchange="box(this.value)" id="box" name="box">
          <option value="non">Без упаковки</option>
          <option value="cd_lite">Коробка для CD тонкая</option>
          <option value="cd_standart">Коробка для CD стандартная</option>
          <option value="dvd">Коробка для DVD</option>
          <option value="paper">Конверт бумажный с окном</option>
          <option value="poly">Конверт прозрачный полиэтиленовый</option>
        </select><br />
        <div id="poligraf"></div>
        <br /><button onclick="get_id()">Расчитать</button>
      </td>
    </tr>
  </table>
</form>
<script>
  function print_for_disc(){
    if ($("#print").is(':checked')){
      img = (img + 1);
      //alert(img);
    }
    else {
      img = (img - 1);
      //alert(img);
    }
    replace_img(img);
  }
  function burn(){
    if ($("#burn").is(':checked')){
      img = (img + 2);
      //alert(img);
    }
    else {
      img = (img - 2);
      //alert(img);
    }
    replace_img(img);
  }
  function replace_img (img){
    switch (img){
      case 0:
        $("#d").attr("src",'../pic/disk/clear.gif');
        break;
      case 1:
        $("#d").attr("src",'../pic/disk/print.gif');
        break;
      case 2:
        $("#d").attr("src",'../pic/disk/write.gif');
        break;
      case 3:
        $("#d").attr("src",'../pic/disk/write_print.gif');
        break;
    }
  }
  
  function box(box){
    switch (box){
      case "non":
        $("#b").attr("src",'../pic/disk/non_box.gif');
        $('#temp_polygraf').remove();
        break;
      case "cd_lite":
        $("#b").attr("src",'../pic/disk/cd_box.gif');
        if($("#temp_polygraf").length){}else{$('#poligraf').append('<div id="temp_polygraf"><input type="checkbox" name=""/>Полиграфия для упаковки</div>');}
        break;
      case "cd_standart":
        $("#b").attr("src",'../pic/disk/cd_box.gif');
        if($("#temp_polygraf").length){}else{$('#poligraf').append('<div id="temp_polygraf"><input type="checkbox" name=""/>Полиграфия для упаковки</div>');}
        break;
      case "dvd":
        $("#b").attr("src",'../pic/disk/dvd_box.gif');
        if($("#temp_polygraf").length){}else{$('#poligraf').append('<div id="temp_polygraf"><input type="checkbox" name=""/>Полиграфия для упаковки</div>');}
        break;
      case "paper":
        $("#b").attr("src",'../pic/disk/paper_enviloper.gif');
        $('#temp_polygraf').remove();
        break;
      case "poly":
        $("#b").attr("src",'../pic/disk/poly_enviloper.gif');
        $('#temp_polygraf').remove();
        break;
    }
    alert();
  }
var img = 0;
</script>

есть такой код!
Проблема возникает кода ввожу тег form
При выборе select не отрабатывает функцию box

рони 26.02.2014 19:38

Alex_dark74,
<select onchange="box(this.value)" id="box" name="box"> догадайтесь почему это недолжно работать

ksa 26.02.2014 22:09

Цитата:

Сообщение от Alex_dark74
есть такой код!

Пипец...

Alex_dark74 27.02.2014 08:22

Пытаюсь сообразить, но не получается!
Ведь без тега form он работает!!!

Alex_dark74 27.02.2014 08:53

ага! понял!
одинаковые названия id и функции! они конфликтуют!
Рони спасибо!
Это лучшая подсказка. теперь запомню!


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