Khi thả xuống Chosen là bên trong một 3 accordion Bootstrap đó là ban đầu ẩn, sau đó chiều rộng của thả xuống là gần bằng không. Sau khi mở rộng nó trông như thế này:Width Chosen Dropdowns gần bằng không khi bắt đầu vào năm sụp đổ Bootstrap accordion
Trong khi đó tôi hy vọng nó sẽ giống như thế này:
Vấn đề xảy ra khi panel-collapse collapse
div
không có một lớp in
, cho thấy hiệu quả ban đầu nó bị sập. Dưới đây là đoạn code để tạo lại vấn đề này:
$(document).ready(function() {
$('select').chosen();
});
.panel-heading { cursor: pointer; }
body { padding: 10px; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="http://cdnjs.cloudflare.com/ajax/libs/chosen/1.1.0/chosen.min.css" rel="stylesheet"/>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/chosen/1.1.0/chosen.jquery.min.js"></script>
<div class="panel-group" id="accordion">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title" data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
Expand me to show the issue!
</h4>
</div>
<div id="collapseOne" class="panel-collapse collapse">
<div class="panel-body form-inline">
<p>This select has a near-width zero:</p>
<select class="form-control">
<option>Short</option>
<option>Longer option</option>
<option>The longest option of them all</option>
</select>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
<h4 class="panel-title">
Already expanded/how it <em>should</em> be
</h4>
</div>
<div id="collapseTwo" class="panel-collapse collapse in">
<div class="panel-body form-inline">
<p>This panel is initially visible and <em>does</em> have correct width for the select box:</p>
<select class="form-control">
<option>Short</option>
<option>Longer option</option>
<option>The longest option of them all</option>
</select>
</div>
</div>
</div>
</div>
Những gì tôi có thể làm gì để ngăn chặn điều này xảy ra? Gọi được chọn là .chosen({width: '90%'});
, tức là với chiều rộng mã hóa cứng hoạt động, nhưng không thỏa đáng (tôi muốn tạo kiểu trong biểu định kiểu của tôi hoặc sử dụng Bootstrap). Độ phân giải duy nhất còn lại dường như là để móc vào sự kiện mở rộng và buộc một bản cập nhật đã chọn, nhưng điều đó cũng cảm thấy giống như một giải pháp thay thế.
Tốt hơn là tôi nên có một dòng CSS để sửa lỗi này hoặc biết liệu đây có thể là lỗi trong (các) công cụ (kết hợp) không?
Cảm ơn. Điều đó dường như hoạt động. Xấu hổ nó cần một sửa đổi '! Quan trọng' (rùng mình!) Nhưng cho rằng lựa chọn thiết lập chiều rộng như là một phong cách yếu tố tôi đoán nó muốn được yêu cầu. – Jeroen
Phần quan trọng là vì chọn thêm một kiểu chiều rộng nội tuyến: 0 cho chính phần tử đó và bạn cần ghi đè tính đặc hiệu với! – Arbel