jQuery的combobox绑定失去焦点blur事件

因为客户的需求,要求select选择列表框能输入文字,网上找了资料,只有jQuery的easyUI (http://www.jeasyui.com/)比较好不错,但在使用的过程中才发现,很多坑!!

先说说怎么绑定失去焦点事件这个坑,combobox已经解除了的方法,对于blur方法已经默认解绑了,因此要自己来绑定。网上搜索了一下,比较靠谱的是:http://jsfiddle.net/ucqvrcn1/ ,本人的就是基于这个实例来做的。本人的combobox是根据代码动态生成的,id也是动态给的(标识不同产品的参数,比如说这是颜色的id为1,其中用银色、镀金,长度为id为2,有1700mm、2500mm、3000mm,长度可以手工输入数值,但要判断长度是否在600mm-4000mm之间),而且是一组combobox,因此要绑定blur事件,是一组combobox都要绑定。

<!DOCTYPE html>
<html>
<head>
        <meta charset="UTF-8">
        <title>Basic ComboBox - jQuery EasyUI Demo</title>
        <link rel="stylesheet" type="text/css" href="./easyui.css">
        <script type="text/javascript" src="./jquery.min.js"></script>
        <script type="text/javascript" src="./jquery.easyui.min.js"></script>
</head>
<body>

        <h2>ComboBox</h2>
        <p>Click the buttons below to perform actions.</p>

        
        <div class="easyui-panel" >
                <div >
                        <select   >
                                <option value="AL">Alabama</option>
                                <option value="AK">Alaska</option>
                                <option value="AZ">Arizona</option>
                        </select>
                </div>
        </div>
        <div class="easyui-panel" >
                <div >
                        <select   >
                                <option value="AL">Alabama</option>
                                <option value="AK">Alaska</option>
                                <option value="AZ">Arizona</option>
                        </select>
                </div>
        </div>

        </div>
        
</body>

<script type="text/javascript">

                 $(function(){
                        <!-- 绑定失去焦点事件 -->
                        var tb = $('.parameter_combobox');
                        $.each(tb, function(n, value){
                          
                          console.log('n=' + n + " value=" + value);
                          console.log(value);
                          $(value).combobox('textbox').bind('blur', function(e){
                                  console.log('失去焦点!');
                                  console.log(e);
                                  console.log('getValue=' + $(value).combobox('getValue'));
                                  console.log('getText=' + $(value).combobox('getText'));
                     var this_id = $(value).attr("id");
          console.log("value.this_id=" + this_id); }); }); console.log(tb); }); </script> </html>