2017-01-19 84 views
1

我遇到了一個問題,即使通過研究和努力,我也無法解決。所以我在這裏發佈。我有具有相同名稱 兩個輸入單選按鈕元素,其表示正在使用或不Business Bank Account Service如何使用JQuery選擇單選按鈕的選中值?

<input type="radio" name="bank_account_service" value="no" checked='checked'>No 
<input type="radio" name="bank_account_service" value="yes">Yes 

現在我還具有以下的JQuery函數應提醒這個無線電選擇的值:

var bank=$('input[name=bank_account_service]:checked').val(); 
 
$(document).click(function(){alert(bank);});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
Business Bank Account<br/> 
 
<br/><input type="radio" name="bank_account_service" value="no" checked='checked'>No 
 
<br/><input type="radio" name="bank_account_service" value="yes">Yes<br/><br/>

我想提醒Yes單選按鈕檢查。任何人都可以指導我,我錯過了什麼或做錯了嗎?

+0

變量本身不會改變。您需要在收音機更改或獲取所需值時更改它。 –

回答

2

你可能會尋找這樣的:

$('input[name=bank_account_service]').click(function() { 
 
\t alert($('input[name=bank_account_service]:checked', '#yourForm').val()) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
Business Bank Account<br/> 
 
<form id="yourForm"> 
 
<br/><input type="radio" name="bank_account_service" value="no" checked='checked'>No 
 
<br/><input type="radio" name="bank_account_service" value="yes">Yes<br/><br/> 
 
</form>

+0

這是一個,但你也請解釋它爲什麼不與$(document).click一起工作,爲什麼它使用$('input [name = bank_account_service]')。click。謝謝您的幫助。 –

+0

$(document).click監聽文檔中任何內容的點擊。完全沒有必要。您想要聆聽特定元素的點擊。 (ps,我認爲我的答案也是非常簡單的) – rgbflawed

+0

在你的代碼中,'var bank = $('input [name = bank_account_service]:checked').val();'''''''''' ''銀行'一旦你的文件加載,因爲'no'被默認選中。所以每次點擊你的文件時,你都會在警報中發現「不」。但是'$('input [name = bank_account_service]:checked','#yourfile')。val()'將始終引用無線電輸入的當前值。 –

0

看起來你已經有一些jQuery向後。

試試這個:

//all click events go in here 
$(document).ready(function(){ 
    //click event on all of these bank inputs 
    $('input[name=bank_account_service]').click(function(){ 
     //check to see if this is the yes option 
     if ($(this).val()=='yes') { 
      //do something 
     } 
    }); 
}); 

您也可能要考慮把唯一的ID爲每個單選按鈕。所以,如果你可以在你的HTML改成這樣:

<input type="radio" name="bank_account_service" value="no" id='bank_no'>No 
<input type="radio" name="bank_account_service" value="yes" id='bank_yes'>Yes 

然後,你可以讓你的jQuery:

$(document).ready(function(){ 
    //click event on only the yes input 
    $('#bank_yes').click(function(){ 
     //do something 
    }); 
}); 
0
<form> 
<div> 
    <input type="radio" name="fruit" value="orange" id="orange"> 
    <label for="orange">orange</label> 
</div> 
<div> 
    <input type="radio" name="fruit" value="apple" id="apple"> 
    <label for="apple">apple</label> 
</div> 
<div> 
    <input type="radio" name="fruit" value="banana" id="banana"> 
    <label for="banana">banana</label> 
</div> 
<div id="log"></div> 
</form> 

<script> 
$("input").on("click", function() { 
    $("#log").html($("input[name='fruit']:checked").val() + " is checked!"); 
}); 
</script> 

嘗試這樣的事情!