如何在没有回发的情况下使用下拉列表填充文本框?

时间:2011-03-28 14:43:45

标签: asp.net textbox drop-down-menu

我有一个asp.net dropDownList,列出了当天的小时和分钟。我希望选择的时间显示在texbox中。这可以不做回发吗? 谢谢你 多夫

4 个答案:

答案 0 :(得分:1)

在下拉列表中添加onChange并使用java脚本检测下拉列表选择并写入文本框。

答案 1 :(得分:1)

如果你不介意使用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>

有一个working example here

答案 2 :(得分:1)

如果可以使用ajax,则可以使用ajax控件工具包中的更新面板。

它实际上创建了一个回发但部分最终用户的观点,似乎没有回发发生;和你的观点一样,只有更新面板中的元素受到回发的影响。

答案 3 :(得分:0)

在Microsoft Ajax控件工具包中有一个ComboBox,它提供DropDownList和TextBox函数,可以从ComboBox中选择或直接像TextBox一样编写。还可以限制独立写入ComboBox中的项目或输入不存在的项目。