2014-12-19 291 views
0

我在两个下拉列表中使用jQuery值,在jQuery中使用select2。这里我需要使我的第二个下拉列表只读。所有选项都应该可见。但不能单击。我尝试禁用,但总下拉得到禁用。下拉不会发生。select2 jquery所有选项应该只读。即,所有下拉值应该是可见的,但不可点击

view this link. In this link i found one example which should become only view .ie., readable not selectable.

+0

您可以更改所选指数回在onchange事件所需的值(警惕创建和无限循环的),或者你可以在选项的鼠标按下事件返回false内选择(DDL)。请记住,当用户用键盘 – Van 2014-12-19 07:22:26

+0

选择一个值时,测试它,而不是有没有内置的方法或类似的东西,这对我来说会更有用。例如,禁用我们将disable设置为true。我需要那样的东西。 – chan 2014-12-19 08:07:59

+0

分享代码。 – 2014-12-19 08:16:35

回答

1

两种方式:

(1)添加的处理程序'select2-selecting'事件,该事件对象调用.preventDefault()。这将停止选择一个项目。

$('#select').select2({ 
    ... 
}).on('select2-selecting', function(e) { 
    e.preventDefault(); 
}); 

如果你想下拉被点击的项目时仍然关闭,你可以这样做:

$('#select').select2({ 
    ... 
}).on('select2-selecting', function(e) { 
    e.preventDefault(); 
    $(this).select2('close'); 
}); 

如果你不希望搜索框,您可以设置minimumResultsForSearch选项为负数。

$('#select').select2({ 
    ... 
    minimumResultsForSearch: -1 
}) 

jsfiddle


(2)@JayRizzi's answeryour other question节目,你可以标记所有的选择为禁用,而不是整个选择二控制。

$('#select').select2({ 
    data: [ 
     id: 'id1', text: 'choice 1', disabled: true, 
     ... 
    ], 
    ... 
}); 

jsfiddle

相关问题