2014-01-09 95 views
1

我有我的jQuery腳本和HTML腳本的問題。我有一個下拉菜單,對於選定的選項,在耗材字段中顯示隨機生成的數字(voorraad)。但是當我使用添加按鈕克隆該字段時,這些選項僅適用於一個耗材字段。有人知道如何解決這個問題嗎?jQuery隨機重複的HTML/jQuery字段

我想要的解決方案是,每個下拉菜單中隨機生成的數字顯示了正確的耗材領域

HTML

<p id="drops"> 
    <section id="down"> 
      <select size ="1" name=""> 
      <option value="" selected="default">Geen voorkeur</option> 
      <option value="">Hatseflats Pharma</option> 
      <option value="">ZuydGeest</option> 
      <option value="">Pharmalicious</option> 
      <option value="">Karma op die Pharma</option> 
      <option value="">Boemklats Pharma</option> 
      </select> 
     <select size ="1" name="" class="medicijnen" onchange="document.getElementsByName('voorraad').value = (Math.floor(Math.random() * 100))"> 
      <option value="" selected="default" disabled="default">Kies een product</option> 
      <option value="">Paracetamol 5g</option> 
      <option value="">Paracetamol 10g</option> 
      <option value="">Aspirine 5g</option> 
      <option value="">Aspirine 15g</option> 
      <option value="">Donperidon 5g</option> 
      <option value="">Donperidon 10g</option> 
      <option value="">Ergonimon 6g</option> 


      </select> 
      <label>Voorraad: </label> <input type="text" id="medicijnen" name="voorraad" size="5" readonly> 
      <label>Aantal:</label> <input size="5" type="text" name="aantal"> 
     <img src="delete.png" height="16" class="remove" id="rmv" width="16"/> 
      </section> 
     </p> 
    <p> 
     <button class="add" id="btn" value="add field">Bestelregel toevoegen</button> 
    </p> 

和我的jQuery的一部分:

$(function() { 
    var counter = 1; 

    $("#btn").live("click", function() { 
     $("#down:first").clone().appendTo("#drops").addClass("lang" + counter); 
     counter++; 
     return false; 
    }); 

    $("#rmv").live('click', function() { 
     if (counter > 1) { //Only apply if the lang field is more than 1 
      counter = counter - 1; 
      $("#down:last").remove(); 
     } 
     return false; 
    }); 

}); 
    $(".medicijnen").change(function() { 
    var voorraad = 0; 
    $.each($(".medicijnen") , function(){ 
     voorraad = Math.floor(Math.random() * 50) + 1 
     }); 
    $("#medicijnen").val(voorraad) 
    }); 
+0

你可以做一個這樣的小提琴嗎? –

+0

'ID'應該是唯一的。 –

+0

好吧秒會讓小提琴和嘗試與編號 – Guitargun

回答

0

如果我正確理解你的問題,當「Kies een產品」列表框中的選擇正確時,你希望「Voorraad」文本框填充隨機數字?

如果是這樣,您不需要使用內聯js觸發器來使用它。這裏是一個jQuery腳本會爲你做的工作:

$('.medicijnen').change(function(){ 
    var stock = Math.floor(Math.random() * 50) + 1; 
    $('#medicijnen').val(stock); 
}); 

而且,這裏是工作的代碼的JSLint(請注意,我不得不改變一些文本的理解發生了什麼事情) - http://jsfiddle.net/t2D6S/

希望這應該讓你走上正確的道路。

更新: 所以我能夠獲得列表複製,我也能夠獲得股票填充,但股票只填充第一個,而不是任何其他的。

這裏是更新的小提琴= http://jsfiddle.net/q8f4K/

抱歉,我不能成爲任何更多的幫助。也許別人可以修復最後一點。

+0

不完全。當你運行的HTML。你會得到2個下拉菜單和2個文本框。如果你願意,我可以把它全部改爲英文。問題是當我按下按鈕(bestelregel toevoegen英文添加順序)所有的下拉列表和文本字段被克隆。克隆後,如果我選擇在那裏說KIES產品的第二個下拉菜單中的一個(英文選擇產品)是隨機的值總是去第一耗材文本字段。所以我當時只能看到1個隨機供應。並且每個 – Guitargun

+0

旁邊都有一個號碼,我明白了,給我一點。我想我可以幫助你。 –