2013-04-18 2 views
-2

У меня есть элемент выбора с большим количеством опций. Выбор имеет ширину самого длинного размера текста. Как я могу установить, чтобы выбор имел ширину выбранного параметра? И когда я нажимаю кнопку выбора, она должна иметь одинаковую ширину (выбранного параметра), но остальные параметры должны иметь ширину самого длинного размера текста опции.Как установить выбор, чтобы иметь ширину выбранного параметра

Ожидаемое спасибо!

EDIT

Я отправил неправильный вопрос. На самом деле я искал самый простой способ сделать это. CSS/JS/jQuery.

+3

ли вы попробовать что-нибудь? –

+0

Я пробовал несколько js и jQuery. Думал, что будет только способ CSS :) – Pascut

+0

Возможно, вы поставили то, что вы пробовали. :) –

ответ

3

просто я получил выделенный текст и завернуть его в span, чтобы получить его длину, а затем изменить размер select

попробовать этот пример:

 <select id="sel"> 
     <option value="aaaa">aaaa</option> 
     <option value="aaaaaaaa">aaaaaaaa</option> 
     <option value="aaaaaaaaaaaa">aaaaaaaaaaaa</option> 
     <option value="aaaaaaaaaaaaaaaa">aaaaaaaaaaaaaaaa</option> 
     <option value="aaaaaaaaaaaaaaaaaaaa">aaaaaaaaaaaaaaaaaaaa</option> 
    </select> 

    <span id="hidnSpan"> 

    <span> 

<script> 

$(document).ready(function() 
{ 
    $('#sel').change(function() 
    { 
     $('#sel').width($('#hidnSpan').html($('#sel').find(":selected").text()).width()) 
    }); 
}); 


</script> 
+0

Работает во всех браузерах, кроме Internet Explorer. Есть идеи? – Pascut

+0

Какая версия IE? –

+0

Теперь это работает, но на некоторых страницах я получаю эту ошибку: TypeError: $ (...) имеет значение null, в строке: $ ('# sel'). Width ($ ('# hidnSpan'). Html ($ («# selected»). find («: selected»). text()). width()) – Pascut

Смежные вопросы