1
如何使用JavaScript函數設置ASP.NET AJAX控件工具包中的Slider控件值? 這甚至可能嗎?如何使用JavaScript函數從ASP.NET AJAX Control Toolkit中設置Slider控件值?
如何使用JavaScript函數設置ASP.NET AJAX控件工具包中的Slider控件值? 這甚至可能嗎?如何使用JavaScript函數從ASP.NET AJAX Control Toolkit中設置Slider控件值?
當然是!您必須將與您的SliderExtender
關聯的asp:TextBox
控件的值設置爲所需的值。因此,對於這個ASP標記:
<asp:TextBox ID="sliderBox" runat="server" ClientIDMode="Static"></asp:TextBox>
<asp:SliderExtender ID="sliderBox_SliderExtender" runat="server" Enabled="True"
Maximum="100" Minimum="0" TargetControlID="sliderBox">
</asp:SliderExtender>
<asp:Button ID="incButton" runat="server" Text="incrementSlider"
onclientclick="change();" />
這基本上是:
SliderExtender
使用)asp:SliderExtender
sliderBox_SliderExtender(與基本 默認值)asp:TextBox
一個名爲incButton的asp:Button
。這具有onClientClick
屬性調用change()
javascript函數這裏是change()
功能:
<script type="text/javascript">
function change() {
document.getElementById("sliderBox").value += 10;
}
</script>
的change()
功能在asp:TextBox
控制由10遞增值,從而增加每個滑塊位置當你點擊按鈕。
該腳本工作原因是'incButton'是ASP按鈕,所以在文本框值被設置爲客戶端後發生點擊後發生。如果添加'返回false';爲了防止回傳位置,「更改」功能不會改變。我純粹做客戶端的方式是找到'slider'div並將其設置爲'style.left'值。爲了獲得正確的位置,你必須用最大值來確定線的長度,然後將其乘以一步(在這種情況下爲10)。 – PrzemG
我不確定我是否理解你的關注/反饋,@PrzemG。但是在我看來,不是所有返回false的東西都可以使用不同的(客戶端)控件。而不是試圖阻止回發,使用鏈接與href =「#」,並處理它的點擊事件。 – jadarnel27
我的觀點是,改變sliderBox元素客戶端的'值'在頁面上沒有視覺效果,直到你做回發。如果你用href =「#」將asp:Button更改爲,它將不起作用 - 滑塊不會移動。此外,元素的值是文本,所以'+10'會將字符串'10'附加到現有字符串中,所以如果現有值爲30,則將其更改爲3010而不是40。 – PrzemG