0

ドロップダウンで特定の値が選択されている場合、divを非表示にしようとしています。私は使って $(this).next('.selectNos').hide();いますが、どういうわけかうまくいきません。誰かが私が間違っていることを指摘できますか?

$(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

1 に答える 1

4

メソッドnextは正確に次の要素を選択します。使用したほうがいいですsiblings

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

ところで、あなたのケースで選択された値を取得するために、のthis.value代わりに使用することができます$('option:selected', this).text()

于 2012-07-03T13:00:35.453 に答える