根据点击更改显示哪个锚点?

时间:2013-07-26 16:13:03

标签: javascript jquery asp.net-mvc-3

当用户点击“显示产品”时,会显示一个链接列表,当用户再次点击“显示产品”时,链接列表就会消失。这很好,但是当显示列表时我想将文本更改为“隐藏产品”

到目前为止,我可以将所有内容都工作(感谢http://api.jquery.com/toggle/),但我无法将文本更改为“隐藏产品”,请告知我在哪里可以找到如何执行此操作?

谢谢你

  <li id="showProductCategories" class="showProductCategories">
           <a>Show Product</a>
        </li>

        //<li id="hideProductCategories" class="showProductCategories">
           //<a>Hide Product</a>
        //</li>

     <div id="productLink">
          <ul class="categorymenu">
             @foreach (ProductCategoryRecord pc in Model.ProductCategories)
             {
                 <li class="active"><a href="@Url.Action("Category", "Store", new { id = pc.Name })">@pc.Name</a></li>
             }

             @if (Model.ProductCategories.Count() <= 0)
             {
                  <p>There are no products in this category</p>
             }
          </ul>
     </div>

<script type="text/javascript" language="javascript">
         $('#showProductCategories').click(function () {
             $('#productLink').toggle('slow', function () {

                 //something in here about hideProductCategories??

             });
         });
     </Script>

2 个答案:

答案 0 :(得分:2)

$('#showProductCategories').click(function () {    
    $('#productLink').toggle('slow');
    var anchor = $(this).find("a");
    anchor.text(anchor.text() == "Show Product" ? "Hide Product" : "Show Product");
});

答案 1 :(得分:0)

简单:

$('#showProductCategories').click(function () { 
    var anchor = $(this).find("a");   
    $('#productLink').toggle('slow', function () {
        anchor.text($(this).is(":visible") ? "Hide Product" : "Show Product");
    });        
});