2017-08-08 107 views
2

我必須爲每次用戶點擊「添加」按鈕時動態生成多個輸入字段,並且我已成功獲取它們。每個聯繫人都應該有不同的名稱,這個無線電輸入字段,所以我創建了一個數組形式的名稱。我如何檢查動態生成的無線電輸入值

這裏是我到目前爲止,我不知道我怎樣,我應該得到每個人的無線電值:

var options = ''; 
var count = 0; 
var maxfields = 4; 

$('button#add').click(function() { 
    options = '<p>Visit Type: 
<label class="radio-inline"> 
<input type="radio" class="c_visittype' + count +'" name="c_visittype[]" value="Student" required>Student</label> 
<label class="radio-inline"> 
<input type="radio" class="c_visittype' + count +'" name="c_visittype[]" value="Visitor" required>Visitor</label> </p>'; 


    if(count < maxfields){ 
     count++;  
    $(options).fadeIn("slow").appendTo('.companion'); 

    return false; 
    } 
}); 

$('.c_visittype' + count).on('click', function(){ 
    $('input:radio[name="c_visittype"]').attr('checked', 'checked'); 
    }); 

每個人都應該得到無論是「學生」或「訪客」的選擇每當創建更多人員字段時,我必須爲多個人獲取此值。我將字段名稱作爲數組的原因是在php的下一頁中迭代它。

回答

1
<script src="http://code.jquery.com/jquery-2.2.4.min.js"   integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="    crossorigin="anonymous"></script> 
<script> 
    $(document).ready(function() { 
     var options = ''; 
     var count = 0; 
     var maxfields = 4; 

     $('button#add').click(function() { 
      var options = '<p style="display: none">Visit Type:<label class="radio-inline"> <input type="radio" class="c_visittype' + count +'" name="c_visittype' + count +'[]" value="Student" required>Student</label> <label class="radio-inline"><input type="radio" class="c_visittype' + count +'" name="c_visittype' + count +'[]" value="Visitor" required>Visitor</label> </p>'; 

      if(count < maxfields){ 
       count++;  
       $('.companion').append(options); 
       $(".companion p:last").fadeIn(); 
      } 
     }); 
    }); 
</script> 

<button id="add">add</button> 
<div class="companion"> 

</div> 
+0

您的代碼似乎正在工作,但請您詳細說明您的代碼嗎?我對jQuery不太熟悉。在你的解決方案中理解是把不同的名稱,而不是與數組相同的名稱。我肯定可以得到它在PHP中迭代,但只是想了解它清晰。 – lakedejavu

+0

將單選按鈕分組到獨立組需要唯一的名稱。 http://www.echoecho.com/htmlforms10.htm。我將html附加到整個div塊的底部 - 將其插入DOM。之後,我可以操縱它 - 使它在淡入淡出時可見。 –

+0

相信我,我給每個單選按鈕一個唯一的ID,但它並沒有打破分組。由於你的代碼現在可以工作,原因可能會被鏈接到動態生成函數或我如何調用它。非常感激:) – lakedejavu

0
$('input[name=c_visittype[]]:checked').val(); 

這就是你如何訪問使用jQuery選中的單選按鈕的值。

+0

我已經嘗試了所有的建議之前,並沒有辦法,但謝謝你的嘗試。 – lakedejavu

+0

嘗試命名你的單選按鈕沒有'[]',看看是否會導致問題。 –

+0

我也試過了,它沒有成功:(我需要在下一頁迭代部分的數組名稱,這就是我最終嘗試改變類名與計數器,它也不工作 – lakedejavu

0

檢查使用靜態父元素,如:上改變

$('static-parent-element').on('click','dynamic-child',function(){ 
    .... CODE 
}); 
0
var inputValues = []; 
$('.c_visittype:checked').each(function() { 
    inputValues.push($(this).val()); 
}); 
// Your code using inputValues 

對於更新:

$(function() { 
    $('.c_visittype').click(function(){ 
     // Insert code here 
    } 
)}); 

確保編號從類屬性移到name屬性(就像這樣,一切都是同一套選項的一部分)。另外,把整個字符串放在1行上。

+0

對不起,這似乎沒有改變我原來的狀態。 – lakedejavu

+0

@lakedejavu你是什麼意思? –

+0

試過這個,但我沒有看到它的工作 – lakedejavu

相關問題