2016-03-24 268 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'从未显示过。谁能告诉我为什么这不起作用?我不应该在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

我修复了这个问题,但仍然无法正常工作。 –