2014-02-26 87 views
0

我有一個表與依賴下拉列表。當我選擇第一行它給我的選定項目的值,但是當我添加更多的行並從下拉列表中選擇一個項目給我第一行的價值。麻煩克隆錶行與依賴下拉列表

這裏是克隆行我的js代碼的代碼

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#add").click(function() { 
     $('#products tbody>tr:last').clone(true).insertAfter('#products tbody>tr:last'); 
     //$("#products tbody>tr:last").each(function() {this.reset();}); 
     return false; 
    }); 
}); 

這裏是我的showdata()函數

function showData(str){ 
var e = document.getElementById("pid[]"); 
var pid = e.options[e.selectedIndex].value; 
//xmlhttp.open("GET","viewData?nid="+str+"&pid="+pid,true); 
//xmlhttp.send(); 
alert(pid);} 

這裏是我的html代碼

<table id="products" align="center" class="bordered"> 
<thead> 
    <tr><th>Item Name</th> 
    <th>Action</th></tr> 
</thead> 
<tbody> 
    <tr> 
     <td><?php echo form_dropdown('product',$product,null,'id="pid[]" onChange="showData(this.value);"');?></td> 
     <td> 
      <button id="add">+</button> 
     </td> 
    </tr> 
</tbody> 

回答

1

當你克隆最後TR,這也是克隆button.So的,當你點擊第二個按鈕的ID,它是引用第一個ID。 身份證不應該與每個W3C建議相同。在你的代碼標識和類不需要的按鈕和下拉檢查此的jsfiddle

http://jsfiddle.net/v4nAa/

,你也可以參考下面的代碼爲下拉無需showData()函數

$("#products tbody>tr").on('change','select',function() { 
var pid = $(this).val(); 
//xmlhttp.open("GET","viewData?nid="+str+"&pid="+pid,true); 
//xmlhttp.send(); 
alert(pid); 
}); 
+0

感謝它幫助我很多..你能告訴我如何刪除一行..? –

+0

看到這個更新小提琴http://jsfiddle.net/v4nAa/1/ –

+0

當我添加第二行並選擇它顯示第一個單元格上的值的項目時出現另一個問題這裏是問題http://jsfiddle.net/rahat090255/Px2GR/3/ –

0

嘗試使用​​dynamically added elements一樣,

$('#products').on('change','#pid[]', function(){ // use class instead of id #pid[] 
    alert('id'+this.value); 
});