2014-09-03 43 views
0
<table> 
    <tr style="background-color: aqua"> 
     <td>Malzeme No</td> 
     <td>Malzeme Adı</td> 
    </tr> 
    <asp:Repeater ID="rptMalzemeList" runat="server"> 
     <ItemTemplate> 
      <tr class="malzlist"> 
       <td><%#Eval("MATNR") %></td> 
       <td><%#Eval("MAKTX") %></td> // I want this value 
       <td><a href="#" id="btnSec" onclick="sendValue(this)">Seç</a></td> 
      </tr> 
     </ItemTemplate> 
    </asp:Repeater> 
</table> 

我的JavaScript函数就是这样,如何获得最接近当前位置的价值?

function sendValue(objs) 
{ 
    var MalzName = objs.parent().parent().children().next().text(); 
    alert(MalzName); 
    window.opener.HandlePopupResult(MalzName); 
    window.close(); 
} 

,但是,它被赋予错误undefined是一个不function.Can你帮帮我好吗?

+0

尝试在兄弟姐妹jquery。 [http://api.jquery.com/siblings/]。这将帮助您找到同级别的元素。 – 2014-09-03 14:38:29

回答

2

变化:

var MalzName = objs.parent().parent().children().next().text(); 

到:

var MalzName = $(objs).parent().prev().text(); 
0

objs是一个DOM元素,而不是一个jQuery的包装。你的功能的第一行应该将其转换为:

objs = $(objs); 

然后你有一个工作中的镜头。暂不评论此功能的其他方面。

+0

是的,谢谢你的回答。 – 2014-09-03 14:32:43

0

您可能希望避免内联JS和使用以下命令:

HTML:

<td><a href="#" id="btnSec">Seç</a></td> 

JS

$(function() { 
    $('#btnSec').on('click',function() { 
     var MalzName = $(this).parent().prev().text(); 
     alert(MalzName); 
     window.opener.HandlePopupResult(MalzName); 
     window.close(); 
    }); 
}); 

OR:

$(function() { 
    $('#btnSec').on('click', sendValue); 
}); 

function sendValue() 
{ 
    var MalzName = $(this).parent().prev().text(); 
    alert(MalzName); 
    window.opener.HandlePopupResult(MalzName); 
    window.close(); 
}