2016-09-14 120 views
0

我有以下HTML部分Ajax請求沒有啓動

<div style="display:inline-block" class="seeker"> 
    <style>h2 {color: white;}</style> 
     <form action=""> 
     <input type="checkbox" class="seek" id=CLOUD name="CLOUD" value="CLOUD" >CLOUD &emsp; 
     <input type="checkbox" class="seek" id=TESTING name="TESTING" value="TESTING" >TESTING &emsp; 
    </form> 
</div> 

並將此作爲腳本

<script> 
$('.seek').click(function(){ 
    alert("test"); 
    /*var value = document.getElementById(id).value; 
    var endpoint = '/xyz/pqr/' 
    var url = endpoint.concate(value) 
    $.get(url, function(data){ 
     $("#testDIV").html(response); 
      });*/ 
}); 

但是經過覈對Ajax調用不會被觸發的代碼的任何問題的複選框的一部分?

+1

'#'表示一個ID,但「seek」是一個類。試試'$('。seek')'。請參閱[在JQuery中,點和散列符號的含義是什麼?](http://stackoverflow.com/questions/2860394/what-do-dot-and-hash-symbols-mean-in-jquery)另外,你在哪裏定義'id'變量? – showdev

+0

@showdev是的,但它仍然不起作用 – pkm

+0

關於你的編輯,[我不能重現問題](https://jsfiddle.net/mdbbux3q/)。你可以[創建一個MCVE](http://stackoverflow.com/help/mcve)來幫助演示嗎? – showdev

回答

1

$('.seek').on('change', function() { 
 
    var checkedValues = $('.seek:checked').map(function(){ 
 
    return $(this).val(); 
 
    }).get(); 
 
    console.log("Changed: ", this.value, "to", this.checked) 
 
    console.log(checkedValues); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div style="display:inline-block" class="seeker"> 
 
    <style>h2 {color: white;}</style> 
 
     <form action=""> 
 
     <input type="checkbox" class="seek" id=CLOUD name="CLOUD" value="CLOUD" >CLOUD &emsp; 
 
     <input type="checkbox" class="seek" id=TESTING name="TESTING" value="TESTING" >TESTING &emsp; 
 
    </form> 
 
</div>

,您應該使用change事件,不click的複選框:

$('.seek').on('change', function(event) { 
    event.preventDefault(); 
    alert("test"); 
}); 
+0

哦,geez,在那一個上做了很大的努力...改變我的回答 –

+0

@pkm很高興知道什麼解決了你的問題。有幾個人表示你的代碼正在工作,即使有'click'事件。什麼是錯的,你有什麼改變,幫助? – showdev

+0

@showdev 我是ajax的新手,所以通過一些教程,發現骨架應該看起來像這個和其他人建議的 $(function(){('。seek')。on('change',函數(){ }); }); – pkm

1

我注意到的第一件事情是,你正在使用$(「#尋求」)。 seek是一個類,所以你應該使用$('。seek')來選擇它。

jQuery使用標準的「CSS」選擇器。所以

# = ID 
. = Class 
[name='foo'] = Name 
ect 
+2

$ .get是一個Ajax速記方法。編輯 - 擊敗我。 – mthomp

+0

好吧,即使更新後的代碼也不起作用 – pkm

+0

好吧,現在在什麼時候打破?我猜猜點擊至少是射擊?假設你將html設置爲響應而不是數據? – mthomp

0

$.get在您的文章中內註釋塊,包裹着/**/,只是刪除評論

+1

我也沒有得到警報,所以我評論它 – pkm

+1

http://plnkr.co/edit/HoXBRapTmh4T9yrwFinf - 一切正常 – Andriy

+0

更新http://plnkr.co/edit/HoXBRapTmh4T9yrwFinf?p=preview發送取ajax作爲好 – Andriy