选择选项onclick功能在FF中有效,但在Chrome中无效

时间:2013-04-12 12:41:31

标签: javascript jquery

我可以在firefox中成功更改图表选项,但它在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);      
    }       
});
});

3 个答案:

答案 0 :(得分: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);      
        }       
    });
});

答案 1 :(得分:1)

在select元素上侦听“change”事件。最好使用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);      
            }       
        });
    }
});

答案 2 :(得分:0)

使用$("#by14").click而不是$("#by14").onclick