1
這是從select元素到radio元素的轉換器,轉換器從選擇選項中創建單選按鈕。選擇選項在無線電改變時改變。 問題出在瀏覽器Firefox中,經過4次更改收音機選擇後,選擇選項沒有改變。 但更奇怪的是,選擇選項在檢查元素(Q)Ctrl + Shift + c中發生了變化。JQuery Select選項在Firefox中只能使用四次
(function($) {
\t \t $.fn.selectToRadio = function(){
\t \t \t var $self = $(this);
\t \t \t $self.each(function(i, select){
\t \t \t \t var $select = $(select);
\t \t \t \t var $ul_ = $('<ul class="video_chat_variable" />');
\t \t \t \t $select.find('option').each(function(j, option)
\t \t \t \t {
\t \t \t \t \t var $option = $(option);
\t \t \t \t \t var vname = $option.text();
\t \t \t \t \t var $radio = $('<input type="radio" />');
\t \t \t \t \t $radio.attr('name', $select.attr('name')).attr('value', $option.val()).attr('id', $option.val());
\t \t \t \t \t if ($option.attr('selected')) $radio.attr('checked', 'checked');
\t \t \t \t \t var $li_ = $('<li />');
\t \t \t \t \t $li_.append($radio);
\t \t \t \t \t $li_.append($("<label />").attr('for', $option.val()).html(vname));
\t \t \t \t \t $ul_.append($li_);
\t \t \t \t });
\t \t \t \t $select.before($ul_);
\t \t \t });
\t \t \t (function(){
\t \t \t \t $('.video_chat_variable').on('change', function() {
\t \t \t \t \t var value = $('input[name=attribute_pa_video_chat]:checked').val();
\t \t \t \t \t //$($self).find('option:selected').removeAttr('selected');
\t \t \t \t \t $self.find('option').each(function(i, select_)
\t \t \t \t \t {
\t \t \t \t \t \t $(select_).removeAttr('selected');
\t \t \t \t \t });
\t \t \t \t \t $($self).find('option[value=' + value + ']').attr("selected",true).parent().trigger('change');
\t \t \t \t \t
\t \t \t \t });
\t \t \t })(jQuery);
\t \t \t
\t \t \t //$(this).hide();
\t \t \t return $(this);
\t \t }
\t })(jQuery);
\t $('#pa_video_chat').selectToRadio();
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="pa_video_chat" class="" name="attribute_pa_video_chat" data-attribute_name="attribute_pa_video_chat">
\t <option selected="selected" class="attached enabled" value="webrtc_chat">WebRTC</option>
\t <option class="attached enabled" value="skype_chat">Skype</option>
\t <option class="attached enabled" value="facebook_chat">Facebook</option>
\t <option class="attached enabled" value="google_chat">Google Hangouts</option>
</select>
你是否得到任何開發工具控制檯錯誤或消息 –
它不是「4次後」...加載頁面,點擊Skype,點擊webrtc - 現在skype不會工作 - 你的代碼中存在一個主要的邏輯問題 –
@Jaromanda X,只有TypeError:不能訪問死對象 view-source:resource://skype_ff_extension-at-jetpack/skype_ff_extension/data/jquery-2.1.0.min.js 哪個邏輯問題? – Sevi