2016-04-13 23 views
0

Yaklaşık 20 seçenekli bir formum var ve bir kullanıcının tıklattığı seçenekte aynı satırda "güncellenmiş" gibi bir uyarı metni görüntülemek istiyorum. Sonuç olarak, bir kullanıcı seçenek 1'deki bir radyo düğmesine tıklarsa, bunun yanında görüntülenecektir ve sonra seçenek 2, 3, ... için de geçerli olacaktır.Kullanıcı bir radyo düğmesini tıkladığında her divanda nasıl bir mesaj açabilirim?

Metni görüntülemek için belirlenmiş belirli bir div alabilirim, ancak Bütün bir form için bunu nasıl yapacağımdan emin değilim. Girişteki belirli "adı" hedefleyebilir miyim, böylece ajax çağrısı için okunduğundan pop-up metninin nereden çıkılacağını bilir?

Ben bu işi yapmak için mücadele ediyorum

$("input").click(function() { 
    var name = $(this).attr('name'); 
    var val = $(this).val(); 
     if(val !=='') { 
      "http://someurl.com", 
      { name: val, 
      data: name 
      }, 
      function(data) {}, "json" 
    )} 
     $(this.name).html("Data Updated").show().delay(1000).fadeOut(); 
}); 
}); 

HTML

<form id="myform" action="form" method="post"> 
<div class="myclass1"><input type="radio" class="set1" name="option1" id="option1a" value="0" checked/></div> 
<div class="myclass1"><input type="radio" class="set2" name="option1" id="option1b" value="0"/></div> 
<div class="myclass1"><input type="radio" class="set2" name="option1" id="option1c" value="0"/></div> 

<div class="myclass1"><input type="radio" class="set1" name="option2" id="option2a" value="0" checked/></div> 
<div class="myclass2"><input type="radio" class="set2" name="option2" id="option2b" value="1"/></div> 
<div class="myclass2"><input type="radio" class="set2" name="option2" id="option2c" value="2"/></div> 

<div class="myclass1"><input type="radio" class="set1" name="option3" id="option3a" value="0" checked/></div> 
<div class="myclass2"><input type="radio" class="set2" name="option3" id="option3b" value="1"/></div> 
<div class="myclass1"><input type="radio" class="set2" name="option3" id="option3c" value="2"/></div> 
+0

*** ID benzersiz olmalı *** tıklatarak giriş yapmak istediğiniz girişe başvurmak için ID kullanabilirsin ama *** ID UNIQUE OL olmalı *** – guradio

+0

'$ (" input ".click (function() {'size bir sözdizimi hatası vermelidir. Belki bizim için bir keman kurabilir misiniz? – Xzandro

+0

başka bir şey radyo düğmesi veya onay kutusu ile çalışırken tıklama olayı yerine etkinlik değiştirmek daha iyidir :) – guradio

cevap

1

Muhtemelen böyle bir şey yapabilirsiniz:

$(function() { 
 
    var $message = $('<span class="message">Updated</span>'); 
 

 
    $('input').change(function (e) { 
 
    var $element = $(e.currentTarget); 
 
    $element.after($message.stop(true, true).show()); 
 
    $message.fadeOut(1000); 
 
    }); 
 
});

}); Eğer gerçekten tıklama istiyorsan o

Ayrıca sadece click için change değiştirin.

+0

numaralı yazıyla düzeltdim, ama ben kodunuzu kullandığımda, her tıklama ile ek olarak "güncellenmiş" eklemeye devam ediyor. Ben ilk kez tıklattığımda, üçüncü kez tıklattığımda "updateUpdated" ve 4. kez "UpdateUpdatedUpdated" e geçtikten sonra "update" (güncellenen) gösterirken ikinci kez tıkladığımda hiçbir şey göstermiyor ve yakında. – dmcs14db

+0

"$ message" öğesini değiştirme işlevinin dışına taşıyabilirsiniz. Snippet'i düzenledim. – dork

+0

Çekicilik gibi çalışır! – dmcs14db