javascript
  • jquery
  • html
  • 2017-02-09 43 views 0 likes 
    0

    我正在嘗試查找單擊和更改之間存在的問題的解決方案。 我需要捕獲點擊事件,而不是更改。 我會解釋一下情況:jQuery - 單擊單選按鈕而不是更改

    我有一個單選按鈕列表3項。 每個點擊我需要清理一個div。但是,如果我回發並返回給客戶端一個錯誤(提交,服務器驗證檢查失敗),更改事件再次觸發(顯然),並清除div。

    有沒有辦法區分點擊和檢查狀態?

    我希望我已經說清楚了。 編輯: 添加一些代碼:

    $("input[name*='SelectedOwner']").on('change', 
    function() { 
        var radioId = $(this).val(); 
        if (radioId === "2" || radioId === "3") { 
         $("#div1").hide(); 
         $("#divclean :input").removeAttr("disabled"); 
        } else { 
         $("#div1").show(); 
         $("#divclean :input").attr("disabled", true); 
        } 
    }); 
    $("input[name*='SelectedOwner']").on('click', function() { 
        //Clean the output at each change 
        $("#divclean :input").val(""); 
    }); 
    

    感謝。

    +0

    請提供[MCVE]。 – charlietfl

    +0

    '$(「input [type ='radio'」)。click(function(){});' – TricksfortheWeb

    +1

    看看這個[Fiddle](https:// jsfiddle.net/u8Lq1p1g/),希望能幫到你 – Yuri

    回答

    0

    你應該到改變事件的每一個單選按鈕綁定:

    $("#r1, #r2, #r3").change(function() { } 
    

    使用jQuery也是可能的:

    if ($("#r1").is(":checked")) {} 
    

    更多信息: JQuery $(#radioButton).change(...) not firing during de-selection


    我希望這可以幫助...

    祝你好運!

    1

    \t $('input[name="choose"]').click(function(e) { 
     
    \t \t \t if ($(this).data('clicked')) { 
     
    \t \t \t \t $('#theDiv').text('You have REclicked "'+ $(this).val() + '" value'); 
     
    \t \t \t } 
     
    \t \t \t else { 
     
    \t \t \t \t $('input[name="choose"]').data('clicked', false); 
     
    \t \t \t \t $(this).data('clicked', true); 
     
    \t \t \t \t $('#theDiv').text('First time you click "'+ $(this).val() + '" value'); 
     
    \t \t \t } 
     
    \t })
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
     
        
     
        <div id="theDiv"></div> 
     
        
     
        A 
     
        <input type="radio" name="choose" value="a" /> 
     
        
     
        B 
     
        <input type="radio" name="choose" value="b" /> 
     
        
     
        C 
     
        <input type="radio" name="choose" value="c" />

    相關問題