2012-01-23 81 views
0

好吧,所以我可能很容易,但我似乎无法弄清楚。我有一个函数,但我仍然需要内联调用函数。我想知道是否有办法把它全部放在函数中。现在我的功能看起来是这样的:Jquery Javascript - 让内联js功能

function ddItem(el) { 
$(el).closest(".ddSelectHeader").find("input").attr({ 
    value : $(el).text() 
}) 
} 

然后调用这个函数内联是这样的:

<div class="ddContainer"> 
<div class="ddSelectHeader"><input name="" type="text" /> 
<div class="ddSubmenu"> 
    <a href="#" onclick="ddItem(this)">Item 1</a><br /> 
    <a href="#" onclick="ddItem(this)">item 2</a> 
    </div> 
</div> 

好了,所以我试图做一个简单的下拉但div的,而不是传统的UL李。上面写的方式工作正常,但我希望有一种方法可以将onlcick取出,以便在ddSubmenu中单击的任何链接都将填充输入字段。这样我就不必在内联或HTML中调用它。

感谢您的帮助。

回答

4
$(document).ready(function() { 
    $(".ddSubmenu a").click(function(){ 
     var $this = $(this); 

     $this.closest(".ddSelectHeader").find("input").val($this.text()); 
    }); 
}) 
+0

+1 docReady –

0
$('.ddSubmenu a').click(function(){ 
    ddItem(this); 
}); 
1
$(function(){ 
    $('.ddSubmenu > a').click(function(){ 
     var self = $(this); 
     self.closest(".ddSelectHeader").find("input").val(self.text()); 
    }); 
}); 
+0

+1的价值,我固定的结构,但错过他究竟在做什么。 –

+0

@JamesMontagne - 你仍然可以修改你的答案并使其更好。 – ShankarSangoli

+0

@ShankarSangoli会做。在接受答案之前,总是感到有趣的修改我的回答。 –