2012-05-07 2 views
1

Я использую ajax для получения HTML-кода для частичного представления, которое содержит раскрывающийся список, который я хочу создать с помощью выбранного JQuery-плагина. Первый, который я добавляю динамически, оформлен правильно, однако все остальные становятся ссылками и не получают правильного стиля/функциональности.Динамически добавленный выбранный список не соответствует стандарту

После добавления в строке, я использую:

$(".chosen").last().css('width', '150px').chosen(); 

Элемент действительно начинает получать стиль должным образом, но это не совсем сделать это правильно. Вот результат.

<div id="SelectedRate_chzn" class="chzn-container" style="width: 150px;"> 
    <a href="javascript:void(0)" class="chzn-single chzn-default"> 
     <span>Select an Option</span> 
     <div><b></b></div> 
    </a> 
    <div class="chzn-drop" style="left:-9000px;"> 
     <div class="chzn-search"> 
      <input type="text" autocomplete="off"> 
     </div> 
     <ul class="chzn-results"></ul> 
    </div> 
</div> 

Я не думаю, что что-то не так с моим частичным видом, но если вам нужно что-то еще, прокомментируйте ниже.

+0

может у вставить код U в http://jsfiddle.net/ – Thulasiram

+1

Не могу сделать это, потому что я делаю запрос AJAX, который я не могу симулировать там. – Jonathan

ответ

1

У меня был тот же вопрос при добавлении записи через диалог к ​​существующей форме, и мне удалось сделать это следующим образом:

после преуспевающим вызова Ajax, добавить новый вариант первоначального выбора элемента и активировать событие liszt: обновлено, чтобы выбрать повторный просмотр элемента select и само обновление.

Например: вызов Ajax возвращает новые контактные данные, которые будут добавлены в качестве JSon строки

{ id:123, label:'new contact name' } 

Добавление новой опции для избранных:

$('select#contact_id').append('<option value='+data.id+'>'+data.label+'</option>') 

Trigger событие (вы можете привяжите его к предыдущему звонку)

$('select#contact_id').trigger('liszt:updated'); 

Надеюсь, что это будет Вы собираетесь!

Сердечные приветы

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