2013-04-12 18 views
1

我可以成功更改firefox中的圖表選項,但它在chrome中無效(無錯誤)。我已經閱讀了幾乎所有關於這個問題的主題,但是他們都沒有爲我工作。用戶選擇選項時捕捉的正確方法是什麼?選擇選項onclick功能在FF中可用,但在Chrome中不可用

enter image description here

<select id="sortby2"> 
    <option id="byweek" value="date">7 days</option> 
    <option id="by14" value="spent">14 days</option> 
    <option id="bymonth" value="clicks">30 days</option> 
</select> 

$("#by14").OnClick(function(){ 
$.ajax({ 
    type: "POST", 
    url: "chartdata.php", 
    data: 'by14=on',datatype:"html", async: false, 
    success: function(d){ 
    $('.cantent').html(d);  
    }  
}); 
}); 
+0

使用的onchange功能 – Dineshkani

+0

'$( 「#by14」)變化(函數(){' –

+0

的選擇選項更改,在jQuery中,您可以使用[change](http://api.jquery.com/change/)事件。 –

回答

2

您可能需要使用change()而不是click事件。

$("#sortby2").change(function(){ 

    if($(this).find('option:selected')[0].id != 'by14') 
      return; 

    $.ajax({ 
     type: "POST", 
     url: "chartdata.php", 
     data: 'by14=on',datatype:"html", async: false, 
     success: function(d){ 
     $('.cantent').html(d);  
     }  
    }); 
}); 
+0

確定,但它應該只與選擇標識符一起工作。我如何監聽是否有人更改選項?我編輯了我的問題我的選擇代碼也 – user198989

+0

你必須給ID選擇不選項,你需要綁定更改以選擇ID sortby2,檢查我更新的答案 – Adil

+0

Co糾正我,如果我錯了,但不是這運行任何用戶選擇?我只想在用戶點擊14選項時運行此操作。 – user198989

1

監聽select元素上的「更改」事件。這是最好的使用jQuery的on()功能進行註冊:

$("#sortby2").on('change', function(){ 
    if($(this).val() === 'spent') { 
     $.ajax({ 
      type: "POST", 
      url: "chartdata.php", 
      data: 'by14=on',datatype:"html", async: false, 
      success: function(d){ 
       $('.cantent').html(d);  
      }  
     }); 
    } 
}); 
+0

好吧,但它只應用於選擇ID。如果有人更改選項,我怎麼能聽?我也用我的選擇代碼編輯了我的問題。 – user198989

+0

啊,你應該把監聽器附加到select元素而不是選項。我更新了我的答案中的代碼,以反映... – cfs

+0

糾正我,如果我錯了,但不是這運行任何用戶選擇選項?我只想在用戶點擊14選項時運行此操作。 – user198989

0

使用沒有$("#by14").onclick

相關問題