Javascript.RU

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

Динамическое изменение значения input checkbox(JQUERY MOBILE)
Всем привет!
Кто подскажет как динамически изменять значение checkbox(JQUERY MOBILE), например, по событию из сети?

<fieldset data-role="controlgroup" id="timer_t_ur">
				<legend>Интервалы работы долива по таймеру</legend>
				<div data-role="fieldcontain">
					<label for="s_16463">(16463) Активация:</label>
					<input type="checkbox" name="s_16463" onclick="writeCheckbox(this);" id="s_16463">
				</div>
			</fieldset>


Что-то типа такого не прокатывает:
///////////////Обновляем Checkbox/////////////////////////////
		$("#s_16463").attr("checked", (checkboxRegisters['c16463'] == 'true') ? true : false);

Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 30.10.2017, 14:54
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от knx23
как динамически изменять значение checkbox
Как вариант...
<fieldset data-role="controlgroup" id="timer_t_ur">
	<legend>Интервалы работы долива по таймеру</legend>
	<div data-role="fieldcontain">
		<label for="s_16463">(16463) Активация:</label>
		<input type="checkbox" name="s_16463" id="s_16463">
	</div>
</fieldset>
<script type='text/javascript'>
document.getElementById('s_16463').checked=true;
</script>
Ответить с цитированием
  #3 (permalink)  
Старый 30.10.2017, 15:00
Интересующийся
Отправить личное сообщение для knx23 Посмотреть профиль Найти все сообщения от knx23
 
Регистрация: 27.10.2017
Сообщений: 10

Этот вариант отрабатывает 1 раз только после обновления страницы.
Ответить с цитированием
  #4 (permalink)  
Старый 30.10.2017, 15:11
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

<fieldset data-role="controlgroup" id="timer_t_ur">
				<legend>Интервалы работы долива по таймеру</legend>
				<div data-role="fieldcontain">
					<label for="s_16463">(16463) Активация:</label>
					<input type="checkbox" name="s_16463" onclick="writeCheckbox(this);" id="s_16463">
				</div>
			</fieldset>
<script src='https://code.jquery.com/jquery-latest.js'></script>
<script>
var checkboxRegisters = {c16463: true};

$("#s_16463").attr("checked", checkboxRegisters['c16463']);
</script>

Скрипт должен находиться в обработчике какого-то события, которое меняет checkboxRegisters['c16463']

Последний раз редактировалось Dilettante_Pro, 30.10.2017 в 15:13.
Ответить с цитированием
  #5 (permalink)  
Старый 30.10.2017, 15:26
Интересующийся
Отправить личное сообщение для knx23 Посмотреть профиль Найти все сообщения от knx23
 
Регистрация: 27.10.2017
Сообщений: 10

Это примерно тоже, что и у меня, здесь http://demos.jquerymobile.com/1.1.2/...s/methods.html пишут, что после записи нужно делать "refresh", но почему-то в браузере вылазит ошибка:"Error: cannot call methods on checkboxradio prior to initialization; attempted to call method 'refresh'"
Ответить с цитированием
  #6 (permalink)  
Старый 30.10.2017, 16:18
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от knx23
Этот вариант отрабатывает 1 раз только после обновления страницы
Так ты ставь его куда хочешь и вызывай сколько тебе нужно...
Ответить с цитированием
  #7 (permalink)  
Старый 30.10.2017, 16:32
Интересующийся
Отправить личное сообщение для knx23 Посмотреть профиль Найти все сообщения от knx23
 
Регистрация: 27.10.2017
Сообщений: 10

Прикол в том, что элемент checkbox не обновляется автоматически при таком подходе, только, если в ручную не перезагрузить страницу, т.е. нужно его каким то образом "встряхнуть" сделать refresh, возможно это такие особенности JQUERY MOBILE, вот в данный момент и ищу как это сделать.
Ответить с цитированием
  #8 (permalink)  
Старый 30.10.2017, 17:55
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Сообщение от knx23
Это примерно тоже, что и у меня
Примерно то же, да не совсем: вот ваш вариант
<fieldset data-role="controlgroup" id="timer_t_ur">
				<legend>Интервалы работы долива по таймеру</legend>
				<div data-role="fieldcontain">
					<label for="s_16463">(16463) Активация:</label>
					<input type="checkbox" name="s_16463" onclick="writeCheckbox(this);" id="s_16463">
				</div>
			</fieldset>
<script src='https://code.jquery.com/jquery-latest.js'></script>
<script>
var checkboxRegisters = {c16463: true};

$("#s_16463").attr("checked", (checkboxRegisters['c16463'] == 'true') ? true : false);
</script>

- не работает, а мой (пост #4) работает
Ответить с цитированием
  #9 (permalink)  
Старый 30.10.2017, 18:14
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

А в цикле работает вариант с prop вместо attr
<fieldset data-role="controlgroup" id="timer_t_ur">
				<legend>Интервалы работы долива по таймеру</legend>
				<div data-role="fieldcontain">
					<label for="s_16463">(16463) Активация:</label>
					<input type="checkbox" name="s_16463" onclick="writeCheckbox(this);" id="s_16463">
				</div>
			</fieldset>
<script src='https://code.jquery.com/jquery-latest.js'></script>
<script>
var checkboxRegisters = {c16463: false};
var loop = setTimeout (function tick() {
   checkboxRegisters['c16463'] = !checkboxRegisters['c16463'];
   $("#s_16463").prop("checked", checkboxRegisters['c16463']);
    loop = setTimeout(tick, 2000);
}, 2000);
</script>
Ответить с цитированием
  #10 (permalink)  
Старый 01.11.2017, 13:52
Интересующийся
Отправить личное сообщение для knx23 Посмотреть профиль Найти все сообщения от knx23
 
Регистрация: 27.10.2017
Сообщений: 10

Согласен, что так работает, но только ни в JQUERY MOBILE.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое изменение значения input radio knx23 Элементы интерфейса 6 27.10.2017 15:47
Динамическое копирование значения из input в input с одинаковыми атрибутами name ami_moor jQuery 2 10.08.2016 17:02
изменение значения input при смене значения select galart jQuery 4 30.01.2015 19:39
Динамическое изменение значений диаграммы в зависимости от значения ползунков Volchen0ck Events/DOM/Window 8 23.04.2014 13:15
изменение картинок в зависимости от значения input jump91 Общие вопросы Javascript 2 30.01.2012 09:57