2011-05-27 62 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 
});