1

私は次のhtmlを持っています:

<option value="55">Clothing - Mens</option>
<option value="56">Clothing - Womens</option>
<option value="67">Film Music & Books</option>
<option value="69">Food & Drink</option>

「衣料品 - メンズ」または「衣料品 - レディース」が選択されたときに div を表示したいので、使用しています。これは完全に機能します。

$(document).ready(
function(){
    $('#category').change(
        function(){
            if ($(this).val()) {
                $('input:submit').attr('disabled',false);

                if (($(this).val() == '55') || ($(this).val() == '56')) {
                    $('#fashion').show();
                    } else { $('#fashion').hide(); }

            } else { 
                $('input:submit').attr('disabled',true); 
            }
        });

});

しかし、それを短くする方法はありますか?次の両方を試しましたが、どちらも機能しません

if ($(this).val() == ('55','56')) { 

if ($(this).val() == ('55' || '56')) { 

上記のどちらの場合でも、オプション値 56 は機能しますが、55 は機能しません。

4

2 に答える 2

2

inArrayjqueryの..を使用できます

http://api.jquery.com/jQuery.inArray/

if ($.inArray($(this).val(),["55","56"]) != -1) {

作業例.. http://jsfiddle.net/FYNKc/1/

于 2012-10-06T09:23:23.117 に答える
0

You can directly us this.value instead of $(this).val();

if ($.inArray(this.value, ['55','56']) != -1) {
于 2012-10-06T09:26:47.967 に答える