[input type="radio" name="BookItem" value="1" /]
  • [input type="radio" name="BookItem" value="2" /]
  • [input ty" />
    Вопрос:

    Как снять отметку с радио кнопки

    71196 просмотра

    6 ответа

    317 Репутация автора

    У меня есть две формы, одна с переключателем, который пользователи должны выбрать для редактирования.

    [form name="A"]
    <li>[input type="radio" name="BookItem" value="1" /]</li>
    <li>[input type="radio" name="BookItem" value="2" /]</li>
    <li>[input type="radio" name="BookItem" value="3" /]</li>
    [form]<p>
    

    После выбора «BookItem» из формы (A) я вызываю $("#EditFormWrapper").load("callEditData.cfm? ID="+ID);функцию для загрузки второй формы (B)

    <div id="EditFormWrapper"><div></p>
    <!---//  begin dynamic form generated by external file callEditData.cfm  //--->
    [form id="editForm" name="B"]
    <ul class="hourswrapper">
    <li><input type="checkbox" id="TOR2Hours" class="TOR2Hours" name="TOR2Hours" value="AM2Hrs1" /> 2 Hours AM</li>
     <li><input type="checkbox" id="TOR2Hours" class="TOR2Hours" name="TOR2Hours" value="PM2Hrs1" /> 2 Hours PM</li>
    <li><input type="checkbox" id="TOR2Hours" class="TOR2Hours" name="TOR2Hours" value="AM2Hrs2" /> 2 Hours AM</li>
     <li><input type="checkbox" id="TOR2Hours" class="TOR2Hours" name="TOR2Hours" value="PM2Hrs2" /> 2 Hours PM</li>
    </ul>
    [input type="image" src="images/submit-btn.gif" id="addBTN" name="addBTN" class="buttons" alt="SubmitRrequest" /]
    [input type="image" src="images/cancel-btn.gif" id="editBTNcancel" name="editBTNcancel" class="buttons" alt="Cancel Request" /]
    [/form]
    <!---//  end dynamic form from external file //--->
    

    Я хочу снять отметку с переключателя в форме (A), когда пользователь нажимает кнопку отмены (editBTNcancel) в форме (B).

    Вот мой сценарий:

    $("#editBTNcancel").live("click", function(event){
        event.preventDefault();
        $("#EditFormWrapper").slideUp("fast").empty();
        //$('.TOR2Hours').removeAttr('checked');
        $('.TOR2Hours').attr('checked', false);
    });
    

    Я надеюсь, что я четко изложил свою проблему, любое предложение будет с благодарностью!

    Автор: user281867 Источник Размещён: 06.04.2010 11:30

    Ответы (6)


    7 плюса

    5518 Репутация автора

    Решение

    Я не уверен, что именно вы хотите, но вы можете попробовать использовать вход сброса.

    <input type='reset' />
    
    Автор: jeremysawesome Размещён: 06.04.2010 11:37

    3 плюса

    264345 Репутация автора

    Поскольку это довольно простая задача DOM, которая существует и работает в любом браузере с поддержкой скриптов, я предлагаю не использовать для этого методы jQuery:

    $(".TOR2Hours")[0].checked = false;
    

    Другая вещь, которая происходит со мной, заключается в том, правильный ли ваш селектор. Вы имели в виду выбрать набор элементов по классу или это должен быть селектор идентификаторов?

    Автор: Tim Down Размещён: 07.04.2010 09:26

    0 плюса

    11 Репутация автора

    Я только что нашел отличное решение этой проблемы.

    Предполагая, что у вас есть две радиостанции, которые необходимо проверить / снять, внедрите этот код и измените то, что необходимо:

    var gift_click = 0;
        function HandleGiftClick() {
            if (document.getElementById('LeftPanelContent_giftDeed2').checked == true) {
                gift_click++;
                memorial_click = 0;
            }
            if (gift_click % 2 == 0) {document.getElementById('LeftPanelContent_giftDeed2').checked = false; }
        }
        var memorial_click = 0;
        function HandleMemorialClick() {          
            if (document.getElementById('LeftPanelContent_memorialDeed2').checked == true) {
                memorial_click++;
                gift_click = 0;
            }
            if (memorial_click % 2 == 0) { document.getElementById('LeftPanelContent_memorialDeed2').checked = false; }
        }
    

    :) пожалуйста

    Автор: Jacob Gaiski Размещён: 09.02.2012 06:10

    10 плюса

    101 Репутация автора

    Вы можете получить доступ к форме, как это ...

    var exampleForm = document.forms['form_name'];
    

    затем переберите форму

    for( var i=0; i<exampleForm.length; i++ ){
       alert( exampleForm[i].type );
    }
    

    Вы можете проверить на проверил, как так ...

    if( exampleForm[i].checked ) 
    

    чтобы отменить выбор переключателя, попробуйте ...

    exampleForm[i].checked=false;
    

    окончательный код будет выглядеть так ...

    var exampleForm = document.forms['form_name'];
    for( var i=0; i<exampleForm.length; i++ ){
       if( exampleForm[i].type ) == 'radio' && exampleForm[i].checked == true ){
           exampleForm[i].checked = false;
       }
    }
    
    Автор: brock Размещён: 14.06.2012 06:27

    0 плюса

    1 Репутация автора

    Я использую этот способ, чтобы решить вашу проблему в ASP.net, проверьте это ..

    radioButton.InputAttributes["show"] = "false"; 
    string clickJs = " if(this.show =='true'){this.show ='false'; this.checked = false;}else{this.show='true'; this.checked = true;};";  
    
    radioButton.Attributes["onClick"] = clickJs; 
    

    В asp.net вы можете использовать этот способ для добавления атрибута. И вы также можете добавить атрибут в radioButton вручную и выполнить функцию (clickJs), чтобы изменить атрибуты ckecked !!!

    Автор: Jason SP Lin Размещён: 25.12.2012 07:22

    1 плюс

    1284 Репутация автора

    Ваш селектор просто неверен. Если вы хотите снять флажок с первой формы, вы должны использовать, $('input[name="BookItem"]')а не $('.TOR2Hours'):

    $("#editBTNcancel").on("click", function(event){ $("#EditFormWrapper").slideUp("fast").empty(); $('input[name="BookItem"]').attr('checked', false); });

    Что касается того, какой метод использовать, чтобы снять отметки с переключателей, должны работать все следующие 3 метода:

    1. $('input[name="BookItem"]').attr('checked', false);
    2. $('input[name="BookItem"]').removeAttr('checked');
    3. $('input[name="BookItem"]').prop('checked', false);

    Тем не менее, посмотрите документацию jQuery на jQuery prop () для различия между attr()и prop().

    Автор: Joel Kornbluh Размещён: 01.10.2014 11:39
    Вопросы из категории :
    32x32