2013-08-16 62 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