2017-06-23 12 views
0

私は、テレビ番組を「見たい」、「現在見ている」、「見終わっています」、または「見終わっています」とマークすることができるWebアプリケーションを構築しています。これらの間で選択するためのドロップダウンがあります。 「現在視聴中」が選択されている場合、ユーザが最後に視聴したシーズンとエピソードを入力するための2つのさらなるドロップダウンも表示されるべきである。構文エラー - しかし、私はトラブルのjQueryを正しくJqueryクラスを追加または削除するにはドロップダウンを選択してください

HTML

<select name="updateTvStatus" class="form-control" id="updateTvStatus"> 
    <option value="4" selected>Want to Watch</option> 
    <option value="1">Currently Watching</option> 
    <option value="2">Finished Watching</option> 
    <option value="3">Stopped Watching</option> 
</select> 
<div id="last-watched" class="hidden"> 
    <select name="updateLastSeason" class="form-control" id="updateLastSeason"> 
     <option value="0">Select Season:</option> 
     <option value="1">Season 1</option> 
     <option value="2">...</option> 
    </select> 
    <select name="updateLastEpisode" class="form-control" id="updateLastEpisode"> 
     <option value="0">Select Episode:</option> 
     <option value="1">Episode 1</option> 
     <option value="2">...</option> 
    </select> 
</div> <!-- /last-watched --> 

jQueryの他

$(document).ready(function() {  
    $("#updateTvStatus").change(function() { 
     var TVstatus = $("#updateTvStatus").val(); 
     var ishidden = $('#last-watched').hasClass("hidden"); 
     if (TVstatus == 1 && ishidden == TRUE) { 
      $('#last-watched').removeClass("hidden"); 
     } elseif (TVstatus != 1 && ishidden == FALSE) { 
      $('#last-watched').addClass("hidden"); 
     } 
    }); 
}); 
+1

'true'をと' false'のは何ですか?あなたはどんな問題を抱えていますか? – smarx

+0

4行目で$( '。last-watched')を探しています。これはクラス名として 'last-watched'の要素を検索しています。 $( '#last-watched')であってはなりませんか? – hRdCoder

+0

うまく動作するように見えるhttps://codepen.io/pjabbott/pen/XgaZEV「テレビ番組」(複数)と言ったとき、同じ(重複した)IDを持つ同じHTMLの複数のコピーを作成していますか?あなたは本当に「正しく機能する」ということを具体的に説明する必要があります。 –

答えて

0
  1. (ELSEIF)の場合に動作するように取得を抱えています。
  2. JSでは大文字と小文字が区別されるため、TRUE/FALSEをtrue/falseに変更します。
  3. idセレクタの代わりにクラスセレクタを指定しました。 Plsは$( 'last-watched')を$( 'last-watched')に変更します。

(厳密な比較に==の代わりに===を使用できます)。 ので、完成したコードが動作するように、このように見えるでしょう:

$(document).ready(function() {  
     $("#updateTvStatus").change(function() { 
     var TVstatus = $("#updateTvStatus").val(); 
     var ishidden = $('#last-watched').hasClass("hidden"); 
     if (TVstatus == 1 && ishidden == true) { 
      $('#last-watched').removeClass("hidden"); 
     } else if (TVstatus != 1 && ishidden == false) { 
      $('#last-watched').addClass("hidden"); 
     } 
     }); 
    }); 
0

私はまさにあなたが探しているかわからないが。しかし、これはあなたが望むものである:

$(document).ready(function() {  
$('#last-watched').hide(); 
$("#updateTvStatus").change(function() { 
var TVstatus = $("#updateTvStatus").val(); 
    if(TVstatus == 1){ 
     $('#last-watched').show(); 
    }else { 
     $('#last-watched').hide(); 
    } 
}); 
}); 
</script> 
関連する問題