2016-03-24 15 views
-1

私は同じtdタグの中に複数のラベルを表示/非表示にする必要があるという問題があります。ここに私のjQueryのコードは次のとおりです。ここでJQueryを表示/非表示にするには?

$j(document).ready(function() { 
    var records = []; 
    var userID = 'here I am passing user ID' 

    ~[tlist_sql; 
     SELECT ID1, User_ID, ID2 
     From RESERVATIONS 
    ] 
    records.push({'idOne':"~(ID1)",'idTwo':"~(User_ID)",'idThree':"~(ID2)"}); 
    [/tlist_sql] 

    for(var i=0; i< records.length; i++){ 
     //here I am looking for matchin userID in my records array 
     if(records[i].idTwo == userID){ 
     //If match, I want to hide input field and display name. 
     $j('#hide_' + records[i].idOne).parent('.hideEmail').hide().next('.showName').show(); 
     } 
     //Here I'm looking if any of my records idThree has value 0 
     if(records[i].idThree == '0'){ 
     //if match hide input and show word 'Reserved' 
     $j('#hide_' + records[i].idOne).parent('.hideEmail').hide().next('.showResreved').show(); 
     } 
    } 
}); 

は私のhtmlコードは次のとおりです。

<td> 
    <span class="hideEmail"> 
     <input type="text" value="" id="hide_~(ID1)"/> 
    </span> 
    <label class="showName" style="display:none"> 
     <span class="firstLast">Display Name</span> 
    </label> 
    <label class="showReserved" style="display:none"> 
     <span class="notavailable">Reserved</span> 
    </label> 
</td> 

ので問題、私は両方のラベルを組み合わせた後に表示されます。最初の時点では、私はクラス 'showName'でラベル付けしていましたが、ロジックが正常に機能しました。しかし、いったんJQueryでもう一つのif文を追加し、別のラベル 'showReserved'を追加すると、私のコードはまだ名前ラベルを表示し、 'hideEmail'クラスは隠されていましたが、 'showReserved'クラスは表示されませんでした。なぜこれがうまくいかないのか誰にでも教えてもらえますか? 2つのラベルを組み合わせたり、jqueryで何か問題がありますか?ここで

は私の作業例です:https://jsfiddle.net/dmilos89/nephebbv/2/

+0

:。。) '.hideを(次の( 'showResreved')' '.hide(あるべき)次の( 'showReserved')まだ' – forgivenson

+0

動作しません。私の入力は隠されていますが、 '予約済み'は表示されません。 –

+0

また、 '' 'をエスケープしていないし、' 'ここでユーザーIDを渡しています 'の後にセミコロンもありません。 IDEを使用していますか? –

答えて

0

問題のこの部分で:

$j('#hide_' + records[i].idOne).parent('.hideEmail').hide().next('.showResreved').show(); 

あなたは間違っている "showReserved" と入力しました。

ここでは簡単な修正です:あなたはタイプミス持ち

$j('#hide_' + records[i].idOne).parent('.hideEmail').hide().next('.showReserved').show(); 
+0

私はそれを修正してみましたが、まだ動作しません。 –

関連する問題