Как отметить radio при клике по textarea

Тема в разделе "JavaScript", создана пользователем verfaa, 25 авг 2012.

Модераторы: ZiX
  1. verfaa

    verfaa

    Регистр.:
    29 янв 2007
    Сообщения:
    371
    Симпатии:
    41
    Версия jquery 1.5.2, поэтому prop не предлагать.
    Код:
       
    <label class=""><b><input type="radio" name="sexgetero" value="other" id="n1" /></b>&nbsp;<span class="pointer">{$word}</span></label>
        </div>
     
        <textarea rows="5" cols="60" maxlength="1000" id="sexgetero">{$data.pets}</textarea>
    
    Пробовал, эти 3 варианта не работают
    Код:
          $('#sexgetero').click(function() {
           
    $('#n1').attr('checked',true);
     
    $('#n1').attr('checked','checked');
     
    document.getElementById('n1').checked = true;
     
          });
    Версию jquery сменить не предлагать, другие скрипты заглючат.
    Есть рабочее решение в этом случае?
     
  2. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.404
    Симпатии:
    1.185
    И click и focus замечательно работают:
    Код:
    $(document).ready(function()
    {
    	
    	$("#sexgetero").click(function(){
    		$('#n1').attr('checked',true);
    	});
    					
    });
    </script>
    
    Если элемент textarea добавляется на страницу скриптами, стоит использовать live:
    Код:
    <script type="text/javascript">
    $(document).ready(function()
    {
    	$("#sexgetero").live('click focus', function(){
    		$('#n1').attr('checked',true);
    	});
    });
    </script>
    
    Если по прежнему не работает, убедитесь, что страница взята не из кеша и смотрите консоль ошибок js
     
  3. verfaa

    verfaa

    Регистр.:
    29 янв 2007
    Сообщения:
    371
    Симпатии:
    41
    В консоль никаких ошибок не выводит, но я всё-таки понял в чем причина того, что скрипты выше не работают.
    А причина в том, что к radio-переключателям подключён скрипт http://uniformjs.com/
    Код:
          $(function(){
            $("input:radio, input:checkbox").uniform();
          });
    
    Если убрать его, при клике переключатель сразу отмечается.
    Но теперь вопрос: можно сделать, чтобы скрипт работал с подключённым uniform(), т.к. без него radio выглядят убого.
     
  4. mdss

    mdss ♖♘♗♕♔♗♘♖

    Moderator
    Регистр.:
    20 фев 2007
    Сообщения:
    1.126
    Симпатии:
    668
    эм, а чем штатные средства не устраивают? Оберни текстареа в лэйбл
    HTML:
    <input type="radio" value="1" name="1" id="check_it" />
    <label for="check_it"><textarea></textarea></label>