0
使用jQuery,我動態生成單選按鈕,但是對每個按鈕進行「單擊然後提示」檢查,只有第一個單選按鈕響應(這是原始硬編碼的按鈕)。無法訪問動態創建的單選按鈕的值
在我的實際頁面中使用腳本時,所選的單選按鈕會成功傳遞給服務器(其中任何一個),所以我知道每個動態創建的單選按鈕都會獲取值並傳遞它。在Firebug中,每個元素的結構與第一個硬編碼結構相同。
動態創建的表單元素沒有完全嵌入在DOM中?
也許問題在於我是如何聆聽點擊,使用'this'還是抓取'value'?在的jsfiddle
示例代碼:http://jsfiddle.net/2ny6c0hq/8
或...
HTML:
<script src="scripts/add_radio.js" language="Javascript" type="text/javascript"></script>
<div class="input_fields_wrapper">
Entry 1 <input class="radio_button" type="radio" name="correct_answer" value="answer_1" />
</div>
<div id="add_field">Add More Fields</div>
JAVASCRIPT(腳本/ add_radio.js):
$(document).ready(function() {
var max_fields = 10; //maximum radio allowed
var wrapper = $(".input_fields_wrapper"); //Fields wrapper
var add_button = $("#add_field"); //Add button ID
var x = 1; // initial radio count
$(add_button).click(function(e){ // on add input button click
e.preventDefault();
if(x < max_fields){
x++; // increment counter
$(wrapper).append("<br />Entry " + x + " <input type='radio' class='radio_button' name='correct_answer' value='answer_" + x + "'>");
}
});
$(".radio_button").on("click", function(){
alert($(this).val());
});
});
謝謝,這個工程。 這裏是jQuery關於事件委派的文檔,他們的例子描述了這裏發生了什麼。 http://learn.jquery.com/events/event-delegation/ – MarsAndBack