0
我遇到的問題只存在於Safari中,但適用於所有其他瀏覽器。jQuery .hide()函數在Safari中不起作用
我有一個下拉框填充了從數據庫中拉出的類別,每個類別都具有「活動」或「非活動」屬性。當頁面加載時,它將只顯示活動的類別。我旁邊的下拉菜單中選中時,也將顯示非活動類別,使用下面的jQuery的一個複選框:
$(document).ready(function() {
$('.inactive').hide();
$('input[type=checkbox]').click(function(){
var $this = $(this);
if($this.is(':checked'))
{
$('.inactive').show();
}
else
{
$('.inactive').hide();
}
});
});
的下拉框中的HTML本質上是(只有幾個選項):
<form action="action" method="post">
<div class="label">
<span class="cats">Category:</span><select name="category_title" >
<option style="display: none;" class="inactive" value="1">Option1</option>
<option style="display: none;" class="inactive" value="23">Option2</option>
<option value="37">Option3</option>
<option value="45">Option4</option>
<input class='view' type='submit' name='select' value='Select' />
</div>
</form>
這在所有的瀏覽器除了完美的作品從Safari瀏覽器,它會自動顯示不活動的類別,也不會隱藏。
編輯: 看着安地列斯鏈接,並改變了jQuery後:
$(document).ready(function() {
var inactive = $('.inactive').detach();
$('input[type=checkbox]').click(function(){
var $this = $(this);
if($this.is(':checked'))
{
$('#category').append(inactive);
}
else
{
$('.inactive').detach();
}
});
});
好吧我現在有這個工作。它將分離不活動的類別並將其附加到所有瀏覽器中。一個新問題並沒有出現:這些類別都屬於這個下拉框中的主要類別,但是當它被追加時,它將所有不活動的類別添加到底部主類別中,而不是以任何順序...
你能後置HTML,而不是PHP? (在呈現的頁面上執行「查看源代碼」)。另外,你是否在控制檯中有任何錯誤(如果Safari有一個???) – Archer
它實際上應該工作..使用'$('。inactive').css('display','none');' –
[$(「#id option」)。hide();不工作safari /鉻?](http://stackoverflow.com/questions/9813047/id-option-hide-not-working-on-safari-chrome) – Andreas