2016-08-07 3 views
0

を選択しなければならない私は、2つの選択入力を持って、二人は#GOボタンショーの前に選択する必要があります。複数の選択入力が

(dbnameは、ユーザー)< --- 2つの選択入力、どのようなデータベースを選択して、データベースにアクセスするユーザーを選択してください。

このクエリの問題は、2つの#GOボタンのいずれかを選択した後に表示されるということです。 #GOが表示される前に2つを選択する必要があります。そうでない場合は、#GOボタンが非表示になります。

スクリプトファイル:

<script type="text/javascript"> 

$(document).ready(function() { 

$("select").on('change',function() { 


    var x = $('select[name=name]').val(); 
    var y = $('select[name=dbname]').val(); 

    if (x == 0 && y == 0) { 
     $("#GO").hide(); 
    } else if (x == 1 && y == 0) { 
     $("#GO").hide(); 
    } else if (y==0 && x==1) { 
     $("#GO").hide(); 
    }else{ 
     $("#GO").show(); 
    } 
}); 

このPHPファイル:

 <?php echo "<select name='name' id='name'>"; 
       $res = $conn->query("SELECT user FROM mysql.user"); 
        echo '<option value="0">Select User</option>'; 
        while($row = $res->fetch_assoc()) { 
         echo '<option value="' . $row['user'] . '">' . $row['user'] . '</option>'; } 
          echo '</select>'; 
       echo "<br/>"; 

     ?> 

     <br> 

     <?php echo "<select name='dbname' id='dbname'>"; 
       $res = $conn->query("show databases"); 
        echo '<option value="0">Select Database</option>'; 
        while($row = $res->fetch_assoc()) { 
         echo '<option value="' . $row['Database'] . '">' . $row['Database'] . '</option>'; } 
          echo '</select>'; 
       echo "<br/>"; 

     ?><br> 


       <input type="submit" name="GO" value="GO" id="GO" class="GO"> 
+0

あなたが直面している問題は何ですか? (または)達成したいことは何ですか? –

+0

if(x == 0 && y == 0){'...ではなく、if(x == 0 || y == 0){' ... ANDの代わりにORを試してください。 –

+0

@LouysPatriceBessetteありがとう、私はちょうど私が使用していた操作条件がANDであることに気づいた。 – user5789297

答えて

0

あなたが望むものは "||" を使用することです代わりに、意味「& &」「AND」のその「OR」を意味し、。この場合

それらのいずれかが0であれば、それは非表示になります。

if (x == 0 || y == 0) { 
    $("#GO").hide(); 
}else{ 
    $("#GO").show(); 
} 

あなたはまた、このようにそれを行うことができます。

//It checks whether both x and y are Not 0, if true, shows "#GO", else, stays hidden. 

if (x != 0 && y != 0) { 
    $("#GO").show(); 
}else{ 
    $("#GO").hide(); 
} 
+0

ありがとう、私はちょうど私が使用していた操作条件がANDであることに気づいた。 – user5789297

0

ここif (x == 0 && y == 0)、条件は両方が選択されていない場合だけ#GOボタンを非表示に述べています。しかし、それらの1つが選択されていないかどうかを確認してからボタンを隠す必要があります。したがって、条件はif (x == 0 || y == 0)である必要があります。つまり、いずれかのオンが選択されていないことを意味します。

ここでも、上記のこれらの二つの条件間に差は

else if (x == 1 && y == 0) { 
    $("#GO").hide(); 
} else if (y==0 && x==1) { 
    $("#GO").hide(); 

ありません。

ここでこれを行うための簡単な方法がありますが、あなたは

$(document).ready(function() { 
    $("select").on('change',function() { 
     var x = $('select[name=name]').val(); 
     var y = $('select[name=dbname]').val(); 

     if (x == 0 ||y == 0) { 
      $("#GO").hide(); 
     }else{ 
      $("#GO").show(); 
     } 
    }); 
}); 

何をしたい。これは、あなたが

+0

ありがとう、私はちょうど私が使用していた操作条件はANDであることに気づいた。 – user5789297

0

をやりたいあなたがこの方法を試すことができます達成するのに十分だろうだ

$(document).ready(function() { 

    var GO = $('#GO'); 
    var dbname = $('#dbname'); 
    var name = $('#name'); 

    GO.attr('disabled', 'disabled'); //initially disabled 

    function EnableDisableGo() { 

    if (verifySelect()) { 
     GO.attr('disabled', ''); 
    } else { 
     GO.attr('disabled', 'disabled'); 
    } 
    } 

    function verifySelect() { 
    if (dbname.val() != '' && name.val() != '') { //if both selected 
     return true; 
    } else { 
     return false 
    } 
    } 

dbname.change(EnableDisableGo); 

name.change(EnableDisableGo); 


}); 
0

、フィルタおよびトグル

$(document).ready(function() { 
 
    $("select").on('change',function() { 
 
     $('#GO').toggle(
 
      $('#name, #dbname').filter(function() { 
 
       return this.value === $('option',this).first().val(); 
 
      }).length === 0 
 
     ); 
 
    }).trigger('change') 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select name='name' id='name'>"; 
 
    <option value="0">Select User</option> 
 
    <option value="1">1</option> 
 
    <option value="2">2</option> 
 
    <option value="3">3</option> 
 
</select> 
 
<br/><br/> 
 
<select name='dbname' id='dbname'> 
 
    <option value="0">Select Database</option> 
 
    <option value="1">1</option> 
 
    <option value="2">2</option> 
 
    <option value="3">3</option> 
 
</select> 
 
<br/><br/> 
 
<input type="submit" name="GO" value="GO" id="GO" class="GO">

関連する問題