2017-03-17 14 views
-2

私はhtml select要素を持っています。selectオプションの1つをクリックすると、オプション値をとり、このコードブロックに来て、文字列を分割し、if文必要に応じて別の機能にリダイレクトします。変更関数内のネストされたIfステートメント

注:最初のコードブロックは正常に実行されますが、2番目のコードブロックは実行されません。なぜ、ifステートメントのネストが何も起こらない理由はわかりません。 _has_feature_の値がtrueの場合、それでもアラートは生成されません。

$('#favorites').change(function() { 
    var strData = this.value.split("|") 
    var _url_ = strData[0]; 
    var _redirect_id_ = strData[1]; 
    var _redirect_ = strData[2]; 
    var _has_feature_ = strData[3]; 
    var id = strData[4]; 




     if (_redirect_id_ == '1') { 
      RedirectI(_url_); 
     } 
     else if (_redirect_id_ == '2') { 
      Redirect(_url_); 
     } 
     else if (_redirect_id_ == '3') { 
      RedirectI(_url_ + _username); 
     } 
     else if (_redirect_id_ == '4') { 
      window.open(_url_); 
     } 
}); 

以下は機能しません。

$('#favorites').change(function() { 
    var strData = this.value.split("|") 
    var _url_ = strData[0]; 
    var _redirect_id_ = strData[1]; 
    var _redirect_ = strData[2]; 
    var _has_feature_ = strData[3]; 
    var id = strData[4]; 

    var valuestring = id + "," + _redirect_id_ + "," + _redirect_; 



    if (_has_feature_ == "true") { 
     alert(has_feature); 
     // Features(valuestring); 
    } 
    else if (_has_feature_ == "false") { 
     if (_redirect_id_ == '1') { 
      RedirectI(_url_); 
     } 
     else if (_redirect_id_ == '2') { 
      Redirect(_url_); 
     } 
     else if (_redirect_id_ == '3') { 
      RedirectI(_url_ + _username); 
     } 
     else if (_redirect_id_ == '4') { 
      window.open(_url_); 
     } 
    } 

}); 
+0

あなたは 'this.value'の例を与えることができます...あなたの変更機能にそれを置きますか? –

+1

は '_has_feature_'の論理値か文字列ですか? –

+0

@SeanKwon文字列は、上の '.split 'から来ています。 –

答えて

0

これはあなたの作業例、ちょうど

$(function(){ 
 
var response = "google.com/|4|javascript: window.open|False|7"; 
 
     var strData = response.split("|") 
 
     var _url_ = strData[0]; 
 
     var _redirect_id_ = strData[1]; 
 
     var _redirect_ = strData[2]; 
 
     var _has_feature_ = strData[3]; 
 
     var id = strData[4]; 
 

 
     var valuestring = id + "," + _redirect_id_ + "," + _redirect_; 
 

 

 

 
     if (_has_feature_ == "True") { 
 
      alert(has_feature); 
 
      // Features(valuestring); 
 
     } 
 
     else if (_has_feature_ == "False") { 
 
      if (_redirect_id_ == '1') { 
 
       RedirectI(_url_); 
 
      } 
 
      else if (_redirect_id_ == '2') { 
 
       Redirect(_url_); 
 
      } 
 
      else if (_redirect_id_ == '3') { 
 
       RedirectI(_url_ + _username); 
 
      } 
 
      else if (_redirect_id_ == '4') { 
 
       window.open(_url_); 
 
       alert("Called"); 
 
      } 
 
     } 
 
}); 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

関連する問題