2017-10-25 25 views
0

私は同じクラスと異なるIDを持つ2つのテキストエリアを持っています。一度に有効になるのは1つだけです。私は、有効なテキストエリアの値をajaxを使ってデータベースに保存する必要があります。しかし、私はどのように有効になっているテキストエリアの価値を見つけるのか分からない。私は、ドロップダウンを持っている、そしてそれの変更イベントで、私は無効にして、トグル機能のようなこれら二つのテキストエリアを有効にすることができクラスによって使用可能なテキストエリアの値を見つけよう

$('#messageTransactionalUnicode').attr('disabled', 'true'); 
 
    $('#save-template-transactional').click(function() { 
 
     $('#messageTransactionalError').text(''); 
 
     if($('.messageTransactional').val() == ''){ 
 
      $('#messageTransactionalError').text('required'); 
 
      return false; 
 
     } 
 
     else { 
 
      var templateText = $('.messageTransactional').val(); 
 
      //alert(templateText); 
 
      $.ajax({ 
 
       url : base_url + 'SMS/SaveTemplate', 
 
       type : 'POST', 
 
       data : {templateText : templateText, type: 'transactional' }, 
 
       success:function(data) { 
 
        if(data == 1){ 
 
         notification('Template submitted successfully', 'success'); 
 
        } 
 
        else{ 
 
         notification('An error occured, please try again', 'failure'); 
 
        } 
 
        console.log(data); 
 
       } 
 
      }); 
 
     } 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<textarea class="messageTransactional" name="messageTransactional" id="messageTransactionalEnglish" placeholder="Enter your message here.." maxlength="160" ></textarea> 
 
<textarea class="messageTransactional" name="messageTransactional" id="messageTransactionalUnicode" placeholder="Enter your message here.." style="display: none;" maxlength="70" ></textarea> 
 
<button class="save-template" id="save-template-transactional" type="button">Save Template</button>

は、ここに私のコードです。その部分は機能していますが、var templateText = $('.messageTransactional').val();は常に最初のtextarea値を表示します。

答えて

1

あなたは組み合わせセレクタ:not()とそのための:disabledを使用することができます。

var templateText = $('.messageTransactional:not(:disabled)').val(); 
              ^ ^
             Grab |the disabled textarea 
              | 
             Grab the opposite 
1

はあなたのケースで:enabledセレクタを使用して有効要素の値を取得するには、以下を使用します。

var templateText = $('.messageTransactional:enabled').val(); 
関連する問題