如何将链接值从“;选择“;至“;选择”;

How to change link value from "Choose" to "Chosen"?

本文关键字:选择 链接      更新时间:2023-09-26

这是我的输入:

<a id="choose" alt="554">Choose</a>

我如何在点击链接"选择"后获得输出变成"选择",然后再次点击后返回"选择"?

我的预期输出:

<a id="choose" alt="554">Choosen</a>

这是我的Ajax:

   $(function(){
   
     $('#choose').live('click',function(){
            var $this = $(this);
            var chapter_id = $this.attr('alt');
            if($this.hasClass('edu_level_active')){
                del_chapter(chapter_id,$this);
            }else{
                if($this.hasClass('disabled')){
                    return false;
                }else{
                    ins_chapter(chapter_id,$this);
                }
            }
        });
   
   }); 
  function ins_chapter(chapter_id,$this)
    {
        $.ajax({
            type      : 'post',
            url       : '/dashboard/choose/',
            data      : 'chapter_id:'+chapter_id,
            beforeSend: function(){
                $this.addClass('edu_level_active');
            },error   : function(){
                alert('error');
            }
        });
        return false;
    }

您可以定义一个布尔变量,指示单击或取消单击。

var retVal = false
$('#choose').on('click', function(){
 if (!retVal){
  retVal = true;
     $(this).text('Choosen');
 }
 else {
 retVal = false;
       $(this).text('Choose');
 }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a id="choose" alt="554">Choose</a>

这很简单,只需测试文本的当前值并相应地更改它:

$('#choose').live('click',function(){
    var $this = $(this);
    var chapter_id = $this.attr('alt');
    var chapter_text = $this.text().trim();
    if (chapter_text === 'Chosen') {
        $this.text('Choose');
    } else if (chapter_text === 'Choose') {
        $this.text('Chosen');
    }
    if ($this.hasClass('edu_level_active')) {
        del_chapter(chapter_id,$this);
    } else{
        if ($this.hasClass('disabled')) {
            return false;
        } else{
            ins_chapter(chapter_id,$this);
        }
    }
});

从jQuery 1.7开始,.live()方法已被弃用。使用.on()附加事件处理程序。试试这个:。

$('#choose').on('click',function(){
        var $this = $(this);
        var chapter_id = $this.attr('alt');
        var a_text = $this.text().trim();
        if(a_text=="Choose"){
           $this.text('Choosen');
        }
        else{
           $this.text('Choose');
        }

        if($this.hasClass('edu_level_active')){
            del_chapter(chapter_id,$this);
        }else{
            if($this.hasClass('disabled')){
                return false;
            }else{
                ins_chapter(chapter_id,$this);
            }
        }
    });