[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: input type="radio" установить в checked
Страницы: 1, 2
zvezda_t
Всем привет!

Есть таблица
<script type="text/javascript" language="javascript" 
function fun(object) {
object.getElementsByTagName('td').getElementsByTagName('input').checked;//не работает
}
</
script>

<table>
<
tr onclick="fun(this);"><td><input type="radio" name="che_bid" value=1></td></tr>
<
tr onclick="fun(this);"><td><input type="radio" name="che_bid" value=2></td></tr>
<
tr onclick="fun(this);"><td><input type="radio" name="che_bid" value=3></td></tr>
</
table>



Скажите пожалуйста, как при нажатии на строку, установить значение input type="radio" в checked ?

_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
killer8080
object.getElementsByTagName('input')[0].checked = true;
inpost
И ещё true в кавычках: 'true' smile.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
zvezda_t
Спасибо, мои хорошие smile.gif

_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
killer8080
Цитата (inpost @ 7.09.2012 - 09:23)
И ещё true в кавычках: 'true'

Это как раз таки не нужно, это свойство имеет булевое значение.

zvezda_t
Кстати эту задачу можно было реализовать и без JS, для этого есть тег label
johniek_comp
inpost
killer8080
инпост чуток прав, если вставлять переменную через php например так
object.getElementsByTagName('input')[0].checked = <?=$var?>;

то результат будет пустота.
что бы сработало нужно так
object.getElementsByTagName('input')[0].checked = '<?=$var?>';

тогда присвоится true как положено
но в данном случае, да, кавычки лишние

_____________
user posted image
killer8080
Цитата (johniek_comp @ 7.09.2012 - 12:34)
inpost
killer8080
инпост чуток прав, если вставлять переменную через php например так
object.getElementsByTagName('input')[0].checked = <?=$var?>;

то результат будет пустота.


С чего бы это? Если
 $var = 'true';
johniek_comp
killer8080
а если
$var = Model::factory(...);

и возвращается просто
true


_____________
user posted image
killer8080
johniek_comp
php производит неявное преобразование типов, в таком случае нужно делать так
$var = Model::factory(...) ? 'true' : 'false';
inpost
killer8080
Вчера делал только, true не везде воспринял и для select .selected = true не работал в ФФ и ИЕ. А вот 'true' уже работает без сбоев во всех браузерах. Но я не уверен, что такой же дифект есть и у чекбоксов.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
killer8080
Цитата (inpost @ 8.09.2012 - 00:26)
Вчера делал только, true не везде воспринял и для select .selected = true не работал в ФФ и ИЕ.

Насколько помню, для селектов нужно циклом обходить все опшины, и принудительно устанавливать в true|false. Покажи проблемный участок, хочу потестить.
А насчет кавычек, в JS как и в PHP происходит неявное преобразование типов, любой текст в кавычках будет воспринят как true, даже если ты напишешь 'false', с таким же успехом можно туда подставить любое число не равное нулю, результат будет один и тот же, интерпретатор автоматом приведёт его к boolean.
inpost
killer8080
Я понимаю о чём ты, и логически так и должно быть. Но почему-то у меня не работало. Кавычки поставил и заработало. После этого скрипт был раза 3 переписан, и тот вид, который он имеет - работает как с кавычками так и без. Может доктайп отсутствовал, может js был не в head. Так что странное что-то smile.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
zvezda_t
Цитата
Кстати эту задачу можно было реализовать и без JS, для этого есть тег label

killer8080, решила попробовать сделать, как ты говоришь)

Имеется таблица и функция:
при нажатии на строку таблицы - выбранная строка выделяется цветом, а все остальные строки - исходного стиля. те при выделении другой строки, та которая была выделена до этого - должна вернуть обычный вид.


<script type="text/javascript" language="javascript" 
function fun(object) {

for(i=0;i<document.getElementById('colortable').getElementsByTagName('tr').length;i++)
{
document.getElementById('colortable').getElementsByTagName('tr')[i].style.color = '#000000';
document.getElementById('colortable').getElementsByTagName('tr')[i].style.fontWeight='normal';
}

//выбранный элемент окрашеваем оранжевым, делаем жирным и отмечаем
object.style.color='#EE8800';
object.style.fontWeight='bold';
object.getElementsByTagName('input')[0].checked = 'true';
}
</script>


<table id="colortable">
<tr
onclick="fun(this);"><td><input type="radio" name="che_bid" value=1></td></tr>
<tr
onclick="fun(this);"><td><input type="radio" name="che_bid" value=2></td></tr>
<tr
onclick="fun(this);"><td><input type="radio" name="che_bid" value=3></td></tr>
</table>



Возможно ли это сделать без js?


_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.