2011-05-27 84 views
0

我有我的功能如下无法通过使用jQuery功能

<script type="text/javascript"> 
$(function() { 
$('#ctl00_ContentPlaceHolder1_TextBox2').datepick(); 
}); 

function showDate(date) { 
//alert('The date chosen is ' + date); 
} 
</script> 

我需要这个,当我在Href标签点击

<a onclick="" href="#"> 


Metaforce as per you said i tried this 



<script type="text/javascript"> 
$(function click() { 
    $('#ctl00_ContentPlaceHolder1_TextBox2').datepick(); 
}); 

function showDate(date) { 
    //alert('The date chosen is ' + date); 
} 
    </script> 

    <a onclick="return click();" href="#"> 

    <img alt="cal" src="calendar.gif" style="vertical-align: text-bottom;" border="0" /></a> 

onclick被称为上加载HREF JavaScript的日历我不得不打电话,我怎么能请任何帮助

Patrick Kaufmann and Phillip Kovalev按照你说我写如下

<script type="text/javascript"> 
function showDate(date) { 
    //alert('The date chosen is ' + date); 
} 

$(function() { 
    $('#ctl00_ContentPlaceHolder1_TextBox2').datepick(); 

    // assign anonimous function as event handler and call showdate from it 
    $('#clickOnIt').click(function() { 
    showDate($(this).val()); 
    }); 
}); 
</script> 

<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> 
<a href="#" id="clickOnIt">click me</a> 

,但我没有得到所需的日历

+0

为了清楚起见,当你在第一个描述你的功能阻止你实际上展示了两个函数调用,一个是在文档就绪时调用的匿名函数,另一个是未调用的命名函数。它是您需要在onclick还是匿名呼叫中调用的命名函数? – Chris 2011-05-27 08:40:26

+0

@Dorababu,请告诉你使用jQuery UI还是其他一些框架?如果它是jQuery UI,那么使用'.datepicker();'而不是'.datepick();'进行日历设置,如[docs]中所述(http://docs.jquery.com/UI/Datepicker#methods)首先。 之后,如果您想通过链接点击显示日历,请使用以下代码链接:' [相同的文档](http://docs.jquery.com/UI/Datepicker#method-show)。 – 2011-05-27 10:02:51

回答

2

如果<a/>具有唯一idclass属性,你可以在你的JavaScript分配事件:

<script type="text/javascript"> 

$(function() { 
    var dateField = $('#ctl00_ContentPlaceHolder1_TextBox2'); 
    dateField.datepick(); 

    // assign anonimous function as event handler and call showdate from it 
    $('#your_a_selector').click(function() { 
    dateField.datepick('show'); 
    }); 
}); 
</script> 
+0

我如何调用Href中的函数 – Dotnet 2011-05-27 08:43:37

+0

为什么你需要将调用放在@href属性中?为'click'事件分配函数的结果与您希望的相同。 – 2011-05-27 08:49:55

0

尝试这样的:

function clickDatePick() { 
    $('#ctl00_ContentPlaceHolder1_TextBox2').datepick(); 
} 

和的onclick补充一点:<a onclick="clickDatePick();" href="#">

<a onclick="$('#ctl00_ContentPlaceHolder1_TextBox2').datepick();" href="#"> 
+0

内联事件需要死亡。除此之外,你真的想''返回false;'在该事件处理程序,所以该网址不会得到一个附加的哈希看起来很烦人,并跳转到页面的顶部。 – ThiefMaster 2011-05-27 08:40:16

+0

这对我不起作用 – Dotnet 2011-05-27 08:43:55

+0

@Dorababu错误控制台告诉你什么?正如@ThiefMaster所说的,在自定义的“clickDatePick()”函数上添加返回false,然后执行:“return clickDatePick();”在你的href ... – metaforce 2011-05-27 08:47:35

2

更好地利用jquery点击处理程序来分离javascri来自标记的pt代码。

例子:

<a href="#" id="clickOnIt">click me</a> 

的然后在javascript文件:

$('#clickOnIt').click(function() { 
    //do the stuff for the click here 
});