2012-07-03 3 views
0

Я пытаюсь скрыть div, если определенное значение выбрано в раскрывающемся списке. Я использую $(this).next('.selectNos').hide();, но по какой-то причине он не будет работать. Пожалуйста, кто-нибудь может указать, что я делаю неправильно?JQuery .next() не работает, когда я пытаюсь скрыть div

$(document).ready(function() { 
    $('#addCondition').on('change','.conOperatorC', function(e){  
    if ($('option:selected',this).text() == "In" || $('option:selected',this).text() == " Not In") { 
    alert($('option:selected',this).text()); 
    $(this).next('.selectNos').hide(); 
    } 
    else { 
    $(this).next(':select').hide(); 
    } 
}); 
$('.conOperatorC').trigger('change'); 
}); 

<div id="addCondition"> 
<select id="conOperator0" name="conOperator0" class="standard_select conOperatorC" style="width:147px;"> 
     <option>blah</option><option> 
     <option>Contains</option> 
     <option>In</option> 
     <option>Not In</option> 
</select> 

<input type="text" id="conValue0" name="conValue0" class="short_input" value="" style="width:147px;"> 

<div class="selectNos"> 
    <select id="conValuedd0" multiple="multiple" size="5" style="display: none; "> 
     <option value="option1">blah</option> 
     <option value="option2">blah</option> 
    </select> 
    <button type="button" class="ui-multiselect ui-widget ui-state-default ui-corner-all" aria-haspopup="true" tabindex="0" style="width: 225px; "><span class="ui-icon ui-icon-triangle-2-n-s"></span><span>Please Select</span></button> 
</div> 

</div> 

ответ

4

Метод next выбирает именно следующий элемент. Вы бы лучше использовать siblings:

$(this).siblings('.selectNos').hide(); 

Кстати, для того, чтобы получить выбранное значение в вашем случае вы можете использовать this.value вместо $('option:selected', this).text().

+0

Он должен сначала добавить атрибут 'value' в свои параметры. – jbrtrnd

+1

@JBRTRND Не нужно. Можешь попробовать. – VisioN

+0

Если атрибут значения не указан, значение по умолчанию устанавливается в тексте внутри опции. –

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