2017-01-11 32 views
-1

我有一個數字輸入域數組,需要在每個輸入域旁邊放一個刪除按鈕。以下是fiddle供參考。相應輸入域旁邊的刪除按鈕

試圖做一個功能(見下文),但不能使其工作。請幫助,提前致謝:)

function delamount() { 
    $(".delbtn").click(function() { 

     var a = $(this).data('value'); 
     var b = $("#value" + a); 

     b.value = '0.00'; 


    }); 
} 
+0

有一件事,你有內聯事件處理程序,並且在函數中,你將另一個事件處理程序附加到相同的按鈕? – Will

+0

您設置的值是?它從未被定義。您在每個輸入上放置的數據值字段需要放在每個按鈕上。 – Snowmonkey

+0

謝謝您的回覆,我知道有些事情是關閉的。感謝您指出。 – JCprog

回答

0

有幾件事情要做:首先,你的小提琴不知道使用jQuery。其次,是的,你定義了一個onclick,然後你告訴onclick在click上綁定這個函數,這成爲一個巨大的重複循環。試試這個:

var a, b; 
 
    $(".delbtn").on("click", function() { 
 

 
    a = $(this).data('for'); 
 
    b = $("#"+a); 
 

 
    b.val('0.00'); 
 

 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div style="width: 25px; float:left;"> 
 
    <button data-for="value01" class="delbtn" id="delamt01">X</button> 
 
    <button data-for="value02" class="delbtn" id="delamt02">X</button> 
 
    <button data-for="value03" class="delbtn" id="delamt03">X</button> 
 
    <button data-for="value04" class="delbtn" id="delamt04">X</button> 
 
    <button data-for="value05" class="delbtn" id="delamt05">X</button> 
 
</div> 
 

 

 
<div style="width: 20%; float:left;"> 
 
    <input class="sizebox" type="number" id="value01" name="value01" value="0.00" /> 
 
    <br> 
 
    <input class="sizebox" type="number" id="value02" name="value02" value="0.00" /> 
 
    <br> 
 
    <input class="sizebox" type="number" id="value03" name="value03" value="0.00"/> 
 
    <br> 
 
    <input class="sizebox" type="number" id="value04" name="value04" value="0.00"/> 
 
    <br> 
 
    <input class="sizebox" type="number" id="value05" name="value05" value="0.00"/> 
 
    <br> 
 
</div>

我已經刪除的onclick,並通過jQuery綁定的click處理程序。我將數據元素移到了按鈕本身。希望能幫助到你!

好吧,然後我做了一個改變 - data-value屬性現在是data-for(很像標籤的屬性)。這減少了對目標輸入的一致命名的依賴。除此之外,幾乎相同。

+0

感謝百萬Snowmonkey!它工作完美! – JCprog

相關問題