2017-02-21 97 views
-1

我正在寫單選按鈕的代碼,其中有3個單選按鈕,如YES,NO和ALL。我爲所有3使用了相同的類名,併爲它們綁定了一個值。如果用戶點擊三個Am中的一個能夠在onclick事件上傳遞相應的值,但是我的問題是如何知道用戶是否點擊了三個按鈕中的哪個按鈕,如用戶點擊了我想要執行的「All」單選按鈕其他類型的行動,如果用戶點擊'是'選項,然後一些不同的行動,等等。如何知道用戶點擊哪個單選按鈕?我的代碼如下:與單選按鈕一起傳遞狀態值?

<input type="radio" name="select_option" class="select_option" value="<?=$row_id;?>">All 
<input type="radio" name="select_option" class="select_option" value="<?=$row_id;?>">Yes 
<input type="radio" name="select_option" class="select_option" value="<?=$row_id;?>">No 

我需要單選按鈕值以及用戶單擊哪個單選按鈕。如何實現這一目標?任何人都可以請指導我。

+1

您的所有單選按鈕值都相同。爲每個單選按鈕傳遞不同的值。然後,您可以在php –

+0

@ B.Desai * Aye *中獲得選定的單選按鈕值,如此正確。但是,OP似乎正在處理數據庫。如果他們的行在同一行(逗號分隔值)中包含「Yes,No,All」,其數據庫未被規範化,那麼這可能會導致更大的問題。可以使用該方法,但不推薦。誰知道他們有什麼以及真正的問題是什麼/解決方案。 –

+0

這個問題太不清楚了。你在數據庫中的真實價值是什麼,你會回答這些評論,還是你只回答「答案」?如果不是的話,那就用給出的答案繼續處理。投票結束不清楚。 –

回答

0

請添加一個額外的參數,用於存儲輸入框裏面的「身份證」,就像這樣:

<input type="radio" name="select_option" class="select_option" value="all" data-id="<?=$row_id;?>">All 
<input type="radio" name="select_option" class="select_option" value="yes" data-id="<?=$row_id;?>">Yes 
<input type="radio" name="select_option" class="select_option" value="no" data-id="<?=$row_id;?>">No 

現在,這裏是將檢查單選按鈕後,運行該腳本:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
<script> 
$(document).ready(function() { 
    $('.select_option').click(function() { 
     if ($(this).prop('checked')) { 
      var id = $(this).data('id'); 
      var value = $(this).val(); 
     } 
     alert(value); 
    }); 
}); 
</script> 

我希望這可能對你有用。

+0

感謝Prateek,您的解決方案也爲我工作。我很困惑誰應該投票becoz Pandiyan解決方案也爲我工作.. –

+0

我很高興,它幫助你。做一件事,那個更適合你的解決方案,將其標記爲正確,併爲其他正確答案投票,以便其他需要的人可以找到最合適的答案,謝謝。 –

+0

謝謝Prateek,我正在爲你投票。你是否也可以告訴HTML元素的「data-」屬性有什麼用處?我知道使用becoz我使用該屬性爲模態的喜歡,而編輯數據來獲取信息並顯示在彈出窗口模式,但我不知道我們可以像這樣使用這也是你在解決方案中說的。 –

0

試試這個

$(".select_option").change(function(){ 
     var radioValue = $("input[name='select_option']:checked").val(); 
     if(radioValue){ 
      alert("Your are clicked - " + radioValue); 
     } 
    }); 
0
$(".select_option").change(function() { 
    if ($(this).is(":checked")) { 
     var value = $(this).val(); 
     console.log(value); 
    } 
}); 

fiddle

+0

我可以得到的價值,但我的問題是如何知道用戶是否點擊了'全部','是','否' –

+0

中的哪個單選按鈕,您可以使用值變量進一步處理 –

+0

您還可以檢查小提琴,我編輯 –

1

我在這些HTML元素

<input type="radio" name="select_option" class="select_option all" value="<?=$row_id;?>">All 
<input type="radio" name="select_option" class="select_option yes" value="<?=$row_id;?>">Yes 
<input type="radio" name="select_option" class="select_option no" value="<?=$row_id;?>">No 

加入我的類名(全部,是,否)使用jQuery

$(document).ready(function(){ 
    $("input:radio").click(function(e){ 

     if($(this).hasClass("all")) 
     { 
       console.log("which button -> all"); 
       console.log("value="+$(this).val()); 
     } 
     else if($(this).hasClass("yes")) 
     { 
       console.log("which button -> yes"); 
       console.log("value="+$(this).val()); 
     } 
     else if($(this).hasClass("no")) 
     { 
       console.log("which button -> no"); 
       console.log("value="+$(this).val()); 
     } 
    }); 
}); 

FIDDLE

+0

謝謝,你的解決方案爲我工作。但我也必須檢查@Prateek Verma的解決方案。 –

+0

非常感謝你的努力Pandiyan非常感謝。我給你一個「贊成票」,但沒有給出正確答案,因爲我覺得Prateek的解決方案更適合我的要求。再次感謝您:) –

+0

謝謝@prasadchinthala – Pandiyan