jQuery交換方法を教えてくださclassNameのurlをクリックするsametimeの機能

StackOverflow https://stackoverflow.com/questions/4051461

  •  27-09-2019
  •  | 
  •  

質問

私a hrefリンクは以下のとおり

<a href="#" class="add_encounter">Add</a>

$(document).ready 私はこの機能は以下のとおり

$('.add_encounter').click(function(event) {
    add_encounter(encounters); 
    event.preventDefault();
});

にadd_encounter機能を変更しましたがクラス名のahrefからadd_encounterとの出会いencounterSubmitterジェクトにリンクしていないクリックその他の機能がクリックした時に、 リンクが機能を変更しclassnameをencounterSubmitter、変更後の同じクラスにつadd_enounter

function add_encounter(encounters) {
     if ($('.add_encounter').text() == "Add"){        
        $('.add_encounter').removeClass().addClass("encounterSubmitter")
     } 
    $('.encounterSubmitter').click(function(event) {save(); event.preventDefault();}); 
}

保存機能は以下のとおり

  function save() {
    var encounter = $('#name').val();
    var key = $('#encounterKey').val();
    if (key == '') {
      key = null
    }
   if (encounter == ''){
 cancel_encounter() 
   }
}

cancel_encounterは以下のとおり

function cancel_encounter() {     
        $('.encounterSubmitter').removeClass().addClass("add_encounter")
        $('.add_encounter').text("Add")         
}

で保存機能をチェックした場合の状態がcancel_encounter機能 変化のclassnameバadd_encounter

この質問は、少し干の混乱をもたらすでしょうが、私はしかやったこのような問題ができ換えソリューションとなります。

役に立ちましたか?

解決

HTML

<a href="#" class="add my_encounter">Add</a>

JS

$('.my_encounter').bind('click', function(event) {

    if ((this).hasClass('add')){ //add_encounter
      //encounters ???
      $(this).removeClass('add').addClass("submitter")

    }
    else if ((this).hasClass('submitter')){  // save
      var encounter = $('#name').val(),
          key = $('#encounterKey').val();

      if (key == '') {
         key = null
      }
      if (encounter == ''){
        // cancel_encounter
        $(this)
           .removeClass("submitter")
           .addClass("add")
           .text("Add"); //?? where remove text "Add"
      }

    }

    event.preventDefault();
});

他のヒント

できない試験はこの権利ただし、これは動作します:

    $('.add_encounter').click(function(event) {
        add_encounter(encounters); 
        event.preventDefault();
    });

    function add_encounter(encounters) {
         if ($('.add_encounter').text() == "Add"){        
            $('.add_encounter').removeClass().addClass("encounterSubmitter")
         } 
    }

    $('.encounterSubmitter').live('click',function(event){
        save();
        event.preventDefault();
    });

    function save() {
        var encounter = $('#name').val();
        var key = $('#encounterKey').val();
        if (key == '') {
            key = null
        }
        if (encounter == ''){
            cancel_encounter() 
       }
    }

    function cancel_encounter() {     
        $('.encounterSubmitter').removeClass().addClass("add_encounter")
        $('.add_encounter').text("Add")         
    }

この問題を保存機能と呼ばれるよadd_encounterます。そのため彼のチェックをキーとしてのcancel_encounter機能をリセットされます。

ライブコール作業場合でも、ご要素結合に読み込まれた後の、javascriptが読み込まれます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top