c# - 带有添加新元素选项的下拉菜单

标签 c# asp.net .net

是否可以有一个下拉控件,如果下拉列表中没有我感兴趣的元素,我可以自己输入它的功能?

谢谢你的帮助

最佳答案

免责声明:我知道这个问题没有被标记为 jQuery,但对于 future 搜索的用户,我将提供一个 jquery 解决方案的开始。


这是 jQuery 插件的一个非常简单的开始,用于处理允许动态选项进入选择框。为每个选择元素在 DOM 中添加了一个额外的文本框和按钮。还会在选择列表的底部添加一个选项,其中包含诸如“添加项目...”之类的文本。选择此选项允许用户键入新项目并将其添加到选择框中。

此处为实例:http://jsfiddle.net/8G6z3/1/

(function($) {


    $.fn.freeEntry= function(options){

        var settings = $.extend(
             {},
             {  //defaults
                 addItemText: 'add item...'
             },
             options
          );

        return this.each(function(){

            var $this = $(this);

            var $addItemOption = $('<option>' + settings.addItemText + '</option>');
            $this.append($addItemOption);

            var $addItemControl = $('<input type=text>').hide();
            $addItemControl.insertAfter($this);
            var $addItemButton = $('<input type=button value="add">').hide();
            $addItemButton.insertAfter($addItemControl);
            $addItemButton.click(function(){
                if($addItemControl.val().length){
                     var $newOption = $('<option>' + $addItemControl.val() + '</option>');  
                    $newOption.insertBefore('option:last',$this)
                    $this.val($addItemControl.val());
                    $addItemControl.val('');                
                }
                $addItemControl.hide();
                $addItemButton.hide();
            });

            $this.change(function(){
               var $this = $(this);
                if($this.val() == settings.addItemText){
                     $addItemControl.show().focus();
                    $addItemButton.show();
                }
            });
        });
    }

})(jQuery);

用法:$('#mySelectBox').freeEntry( { addItemText: "Add a new item yo!"} );

关于c# - 带有添加新元素选项的下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7834248/

相关文章:

c# - 允许每个实例一个代理的最佳 WebBrowser 控件是什么?

c# - 表达式树重用值?

c# - 更新 SSL 设置后无法通过 SMTP 发送电子邮件

c# - 寻找良好的动态成像解决方案

asp.net - 在 ASP MVC5 中对同一操作定义属性路由后如何重定向到操作

c# - Task.FromResult 的可空性警告

c# - C# 的 Actors 有什么好的实现吗?

c# - MySqlBulkLoader 未导入第一列

c# - Dropzone.js:将图像上传到 ASP.NET 中的服务器

.net - 是否可以通过控制台应用程序使用 AzureAD 身份验证?