Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.11.2012, 10:55
Новичок на форуме
Отправить личное сообщение для NitroGenerate Посмотреть профиль Найти все сообщения от NitroGenerate
 
Регистрация: 21.01.2011
Сообщений: 9

checkbox (Поставить/убрать галочку)
Ребят подскажите по работе с чек боксом.
Написал функцию, писал ее по шаблону, по этому она как всегда не работает.
function change(frm){
		var elem=frm;
		if(document.getElementById(elem).checked=='true';)
			document.getElementById(elem).checked='false';
		else
			document.getElementById(elem).checked='true';
	}
}


И сам код вызова:
<td onclick="change('<?=$SubKey.$id?>');" class="layer1">
	<?=$Value?>
	<br />
	<br /><div class="layer2">
		<input type="checkbox" id="<?$SubKey.$id?>" name="option1" value="<?=$SubKey.':'.$id?>">
	</div>
</td>


Суть такова, есть таблица, в ней куча ячеек при нажатии на ячейку отмечается чек бокс который в этой ячейке. Еще раз нажать, чекбокс слетает.
Вопрос, как оживить скрипт?
Ответить с цитированием
  #2 (permalink)  
Старый 23.11.2012, 11:31
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

NitroGenerate, но ведь в ячейке находится и сам checkbox...смысл?
не лучший вариант называть функции change, click и т.п.
function cbx_chng(cbx) {
    if (document.getElementById(cbx).checked) {
        document.getElementById(elem).checked = "false";
    } else {
        document.getElementById(elem).checked = "true";
    }
}
Ответить с цитированием
  #3 (permalink)  
Старый 24.11.2012, 00:25
Новичок на форуме
Отправить личное сообщение для ivan-klimov Посмотреть профиль Найти все сообщения от ivan-klimov
 
Регистрация: 13.11.2012
Сообщений: 8

NitroGenerate,
А обязательно это скриптом делать?

Ведь можно обвернуть input в label и сделать лэйбл блочным с высотой и шириной в 100%. Тогда при клике в любом месте ячейки чекбокс будет срабатывать.

Вот посмотрите в песочнице http://learn.javascript.ru/play/Px6Ncc

Или сразу код:
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <title></title>
</head>
<body>
  <table>
    <tr>
      <td style="width:200px; height: 200px; border:1px solid #999;">
        <label style="display:block; width:100%; height:100%;"><input type="checkbox" /></label>
      </td>
    </tr>
  </table>
</body>
</html>


Все зависит от целей и задач, но вариант вполне рабочий
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
спрятать/показать поле ввода при нажатии на checkbox g1r Элементы интерфейса 34 16.12.2017 00:34
Не могу получить состояние checkbox-а POMAH-UST Элементы интерфейса 2 08.10.2012 07:43
Как заблокировать checkbox кроме выделенных YCsys Events/DOM/Window 5 06.06.2012 17:34
jqgrid tree and checkbox gaz2003 jQuery 0 17.12.2011 15:59
Функция disable для нескольких checkbox allforweb Элементы интерфейса 4 19.12.2010 17:51