2013-08-16 323 views
0

我有兩個選擇框在單獨的表格單元格。當我在第一個選擇框中選擇相關的選項將從數據庫中放置。現在我需要將此值附加到立即選擇框(類名爲getpopltddocname)。我的HTML看起來象下面這樣:jquery選擇最近的選擇框來添加選擇選項

<tr> 
    <td height="40" align="left" valign="middle">Doc Group</td> 
    <td align="left" valign="middle"> 
     <select id="docgroupname_doc[]" name="docgroupname_doc[]" class="populatedocname" tabindex="1"> 
      <option value="" selected="selected">Select Doc</option> 
      <option value="1" selected="selected">Bank</option> 

     </select> 
    </td> 
    <td align="left" valign="middle">Doc Name</td> 
    <td class="makeselect" align="left" valign="middle"> 
     <select id="docname_doc[]" name="docname_doc[]" class="getpopltddocname" tabindex="1"> 
      <option value="">Select Doc Name</option>    
     </select> 
    </td> 
</tr> 

和我的jQuery代碼:

$(document).on("change",".populatedocname",function(){ 
    var docid=$(this).val(); 
    var sel = $(this).closest('td').next().find('select'); 

    $.post("classes/ajax.php", {action:'getdocitem',docid:docid},function(data) { 
     alert(data); 
     for (var i=0; i<data.length; i++) { 
      sel.append('<option value="' + data[i].doc_item_id + '">' + data[i].doc_name + '</option>'); 
     } 
    }, "json"); 
}); 
+0

循環內部的'el'變量名稱是打字錯誤嗎? – Itay

+0

是的..現在更新.. – webinfopedia

回答

0

parent嘗試像

var sel = $(this).parent('td').find('select'); 

或者你也可以嘗試像

var sel = $(this).parent('td').find('select'); 

DEMO

編輯:彷彿要附加選項,則應該像

var sel = $(this).parent('td').find('select option'); 

決賽:終於得到了我的問題的解決方案..

var sel = $(this).closest('td').next('td').next('td').find('select'); 
+0

它不工作..任何想法? – webinfopedia

+0

看我的編輯...我忘了刪除下一個() – Gautam3164

+0

謝謝..它的工作..但無法追加選擇...這是我的實際需要... – webinfopedia

0

嘗試查找()函數附加

$('your-selector').find('select'); 
+0

沒有它的不工作..希望你看到選擇框是一個數組..表中的行循環在PHP中。我需要在每行的第一個選擇框之後將值附加到立即選擇框。 – webinfopedia