未捕获错误:语法错误,无法识别的表达式:#[object HTMLDivElement]

时间:2015-04-18 10:44:31

标签: javascript php codeigniter

我将值传递给codeigniter函数以获取结果。 但是ajax值没有传递给php函数。

我的脚本功能如下:

<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<Script>
$(document).ready(function() {
$("#up").on('click',function(){
      if ($("#incdec").val() < $(this).data("max")) {
        $("#incdec").val(parseInt($("#incdec").val())+1);
        }
});

$("#down").on('click',function(){
      if ($("#incdec").val() > $(this).data("min")) {
        $("#incdec").val(parseInt($("#incdec").val())-1);
      }
 });
 });
 $(document).ready(function() {
  $(".butt").on('click',function(){
    var e=$(".aa").val();
    alert(e);

    $.ajax({
         type:"POST",
         data:"id="+e,
         url:"<?php echo site_url('pages/getit');?>",
         success: function(html){
              $('#'+dataprocess).html(html);
         }
    });
  });
});

</script>

我的HTML代码:

<input type="text" name="incdec" id="incdec" value="0" class="aa"/>
<input type="button" class="butt"  id="up" value="Up" data-max="5" />
<input type="button" id="down" value="Down" data-min="0" class="butt"/>

<div id="dataprocess"></div>

但我收到的错误如下:

Uncaught Error: Syntax error, unrecognized expression: #[object HTMLDivElement]

请帮我找错。

2 个答案:

答案 0 :(得分:3)

在这段代码中:

success: function(html){
    $('#'+dataprocess).html(html);
}

您要将字符串'#'附加到对象数据处理

将对象转换为字符串'[object HTMLDivElement]',告诉其类型。

请改为尝试:

success: function(html){
    $('#dataprocess').html(html);
}

修改

jquery选择器的工作方式,在这种情况下是'by-id'选择器,你有'id'标记,'#'立即,然后是您尝试选择的控件的ID,在本例中为'dataprocess'

这是一个关于jquery选择器的有用资源:

http://www.w3schools.com/jquery/jquery_ref_selectors.asp

希望这会有所帮助。干杯!

答案 1 :(得分:0)

请尝试将此ajax视为blw:

$('#dataprocess').html(html);