如何使用dropdownlist填充文本框而无需回发?
我有一个asp.net dropDownList列出当天的小时和分钟。我希望选择的时间在一个texbox中显示。这可以做到没有回发?
谢谢
多夫如何使用dropdownlist填充文本框而无需回发?
在微软的Ajax控件工具包中有一个ComboBox,它提供了DropDownList和TextBox函数,可以从ComboBox中选择或直接写入TextBox。还可以限制独立写入仅限于ComboBox中的项目或输入不存在的项目。
添加一个onchange的下拉和使用Java脚本来检测下拉选择并写入文本。
如果你不介意使用JavaScript和更具体jQuery您可以设置时间客户端如在这个简单的例子:
HTML:
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
function setTime(){
var hours = $(".hours").val();
var mins = $(".minutes").val();
$(".time").val(hours + ":" + mins);
};
$(".hours").change(setTime);
$(".minutes").change(setTime);
// call setTime for first view
setTime();
});
</script>
</head>
<body>
<input type="text" class="time" />
<select class="hours">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<select class="minutes">
<option>15</option>
<option>30</option>
<option>45</option>
</select>
</body>
谢谢你,你的建议看起来很有趣,但我不知道java脚本,所以我不知道如何在我的代码中实现你的想法。我有一个下拉列表,它由c#代码中的PageLoad事件中的循环填充。如何接收dropDownList的选定值并将其传输到文本框,以及代码中的位置是否放置了JavaScript? – 2011-03-29 15:05:40
我已经添加了一些代码来显示在Google内容交付网络(CDN)上对jQuery v1.5.1的引用,并将代码snippit放置在头标记中的脚本标记中。 – Swaff 2011-03-29 15:23:15
谢谢,这非常有帮助。 – 2011-04-07 08:58:20
如果可以使用ajax,则可以使用ajax控件工具包中的更新面板。
它实际上创建了一个回传,但部分是如此最终用户的观点,似乎没有回传发生;和你的观点,只有更新面板中的元素受到回发的影响。
我加了我自己的答案,它被Robert Harvey删除了。为什么?这对我来说是一个很好的选择!谢谢Dov。 – 2011-03-30 12:19:11