2013-10-18 33 views
6

quá thêm một giữ chỗ trong Select2 tôi phải thêm một thẻ lựa chọn sản phẩm nào trong các mã như thế nàyplaceholder Select2 thấy trống tùy chọn

<select id="e2" name="rol_id" > 
         <option><option> 
         {foreach from=$data.roles item=rol} 
         <option value={$rol.rol_id}>{$rol.rol_nombre}</option> 
         {/foreach} 
</select> 

nhưng khi tôi làm điều đó tôi nhận được tùy chọn này có sản phẩm nào đó là có thể lựa chọn enter image description here

làm cách nào tôi có thể không hiển thị tùy chọn đó nhưng vẫn là trình giữ chỗ?

Cảm ơn!

+0

'style = "display: none;" '? – Turnip

+0

vẫn hiển thị tùy chọn trống @ 3rror404 –

+0

Có thể đây là một tùy chọn? http://jsfiddle.net/nJ8Vu/ – Turnip

Trả lời

12

Bạn có lỗi cú pháp trên dòng thứ hai.

<option></option> 
+0

nếu tôi xóa nó, trình giữ chỗ không hiển thị –

+1

trong tài liệu select2, nó cho biết: Khi trình giữ chỗ được sử dụng cho hộp chọn không có nhiều giá trị, nó yêu cầu bạn bao gồm một thẻ trống rỗng Lựa chọn đầu tiê[email protected] –

+0

@MarianaHernandez bạn có lỗi cú pháp: Max

0

Bạn có thể thêm một dòng để xóa tùy chọn "trống" đầu tiên sau khi tải các tùy chọn cho vai trò. Bạn có thể làm như sau bằng cách sử dụng jquery.

$("#selectBox option[value='']").remove(); 
+0

cảm ơn bạn, tôi đã cố gắng nhưng nó loại bỏ trình giữ chỗ = (@sr. –

2

để trống tùy chọn và chỉ định văn bản giữ chỗ hoặc thông qua thuộc tính giữ chỗ dữ liệu trên thẻ hoặc qua tùy chọn trình giữ chỗ khi khởi tạo select2.

4

Đó là câu trả lời muộn nhưng có thể giúp ai đó.

Tôi có phương thức với đầu vào select2.

Chúng tôi cần thêm <option></option> để trình giữ chỗ được hiển thị.

HTML

<select id="Name"> 
    <option></option> 
    <option value="John">John</option> 
    <option value="Brian">Brian</option> 
    <option value="Carl">Carl</option> 
</select> 

Nếu tôi muốn giữ chỗ xuất hiện.

Jquery

$('#Name').select2({placeholder: 'Select a Name'}); 

$('#Name').select2('val', ''); 

Nếu tôi muốn xem một giá trị vào đầu vào Select2:

$('#Name').select2('val', 'John'); 
-1

kiểm tra nếu giá trị lựa chọn của bạn là trống rỗng

0

Chỉ cần cố gắng $('select').select2({placeholder: 'Please select...'});. Kết hợp với một trống <option></option> nên thực hiện công việc;).

0

Lựa chọn sản phẩm nào thực sự cho giữ chỗ, tôi giải quyết nó bằng cách sử dụng đoạn mã sau

var s1 = $('#select2id').select2({ 
        multiple: true, 
        placeholder: "Select values" 
       }); 
       s1.val([' ']).trigger("change"); 

các s1.val([' ']).trigger("change"); đã làm các trick

+0

Đây là giải pháp tương tự sử dụng HTML thuần túy để ngăn chặn nó được nhấp vào, cũng như một số cách tiếp cận khác: https://stackoverflow.com/a/23638053/3196753 – tresf

Các vấn đề liên quan