2016-11-27 5 views
1

誰が間違って何を教えてもらえますし、コードのこのビットを修正する方法...IF ORのjQueryで機能PHPサイトの

場合、私は、メッセージを起動し、次のページに移動しないようにしようとしています#send_countryボックスにははありません。があります。または、"Send From..."(そのプレースホルダとして)と書かれています。私はそれが|| country == "Send From..."せずに動作しますように私は、OR機能に問題があると思う

if (country == '0' || country == "Send From...") { 
    error = 1; 
    jQuery('.msg').text("Please Select A Country."); 
} 

これは私が問題を抱えていたコードのビットです。

<script> 
    jQuery(document).ready(function(){ 
     jQuery('.submit').click(function() { 

      var error = 0; 
      var country = jQuery('#send_country').val(); 
      var countrys = jQuery('#delv_country').val(); 
      var idsa = jQuery('.size').val(); 

      if (country == '0' || country == "Send From...") { 
       error = 1; 
       jQuery('.msg').text("Select A Country."); 
      } 
      if (countrys == '0') { 
       error = 1; 
       jQuery('.msg').text("Select A Country."); 
      } 

      if (error) { 
       return false; 
      } else { 
       return true; 
      } 

     }); 

    }); 
</script> 

答えて

1

#send_countryボックスはそれのいずれかで何も持っていないか、と言うならば、「より送信...」(そのプレースホルダとして)。

placeholder属性がvalueと異なる、あなたが.prop('placeholder')を使用する必要があります代わりに.val();を使用してplaceholderを取得できませんでした:

var country_placeholder = jQuery('#send_country').prop('placeholder'); 

ので、条件は次のようになります。

if (country == '0' || country_placeholder == "Send From...") { 

しかし、このようにフィールドを塗りつぶしてもプレースホルダは変更されないので、条件は常にtrueになります。値が空であるか '0'であるかどうかを確認することをお勧めします。

if (country == '0' || country == "") { 

希望します。

jQuery('.submit').click(function() { 
 
    var error = 0; 
 
    var country = jQuery('#send_country option:selected').val(); 
 

 
    if (country == '') { 
 
    error = 1; 
 
    jQuery('.msg').text("Select A Country."); 
 
    } 
 

 
    if (error) { 
 
    console.log('EROOR'); 
 
    } else { 
 
    console.log('SUBMIT'); 
 
    } 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form> 
 
    <select type="text" id='send_country'> 
 
    <option value="" disabled selected>Send From...</option> 
 
    <option value="1">1</option> 
 
    <option value="2">2</option> 
 
    </select> 
 

 
    <button class='submit'>Submit</button> 
 
</form> 
 

 
<span class='msg'></span>

+0

ありがとう!私はこれを私の最初のオプションをプレースホルダとして作成しました。問題が発生しているので、or文の "Send From ..." – tbowden

+0

私はあなたが持っていると思う、問題は選択の値を取得している方法で、 'var country = jQuery( '#send_country option:selected')。val();'を使用します。 (私の最新のスニペットをチェックしてください)。 –

関連する問題