Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript或jquery的错误行为_Javascript_Jquery - Fatal编程技术网

javascript或jquery的错误行为

javascript或jquery的错误行为,javascript,jquery,Javascript,Jquery,我想在我的主体区域添加一段JavaScript(jquery)代码。假设代码是 $(".count_input").on("change",function(){ alert("hi"); }); 但这不是一个词。我想让这段代码在我更改输入时提醒我 代码语法和算法是正确的,因为当我把它植入chrome的控制台时,它就工作了 我必须补充一点,我的脚本标记如下: <script> $(document).ready(function() { /*

我想在我的主体区域添加一段JavaScript(jquery)代码。假设代码是

$(".count_input").on("change",function(){
    alert("hi");
});
但这不是一个词。我想让这段代码在我更改输入时提醒我

代码语法和算法是正确的,因为当我把它植入chrome的控制台时,它就工作了

我必须补充一点,我的脚本标记如下:

<script>
    $(document).ready(function() {
            /**********************
            this part doesn't work
            **********************/
            $(".count_input").on("change",function(){
                alert("hi");
            });
            /*************************************************************/
            /**************
            this part works
            **************/
        $.get("../files/cart.php",{action:'main_cart'},function(data) {
            data = data.split("dbseperatordb");
            $(".cart_count").html("");
            $(".main_cart_html").html("");
            $("#total_price").html("0");
            var main_cart_html = data[0];
            var total_price = data[1];
            $(".main_cart_html").html(main_cart_html);
            $(".total_price").html(total_price);

        });
        /****************************************************************/
    })
</script>

$(文档).ready(函数(){
/**********************
这部分不行
**********************/
$(“.count_input”)。在(“change”,function()上{
警报(“hi”);
});
/*************************************************************/
/**************
这部分有效
**************/
$.get(“../files/cart.php”,{action:'main_cart'},函数(数据){
data=data.split(“dbseperatordb”);
$(“.cart_count”).html(“”);
$(“.main\u cart\u html”).html(“”);
$(“#总价”).html(“0”);
var main_cart_html=数据[0];
var总价=数据[1];
$(“.main\u cart\u html”).html(main\u cart\u html);
$(“.total_price”).html(总价);
});
/****************************************************************/
})
这是HTML

<div class="item">
    <div class="cart_img pull-left width-100 padding-10 text-left">
        <img src="../products/h1/images/1.jpg" alt="" width="80">
    </div>
    <a href="../pages/single-item.php?id=1" class="product_name">
        <span>عسل</span>
        <small>&#65279;کمی توضیحات<br>معمولاً طراحان گرافیک برای صفحه&zwnj;آرایی�</small>
    </a>
    <a href="#" class="remove_item">
        <i class="fa fa-times"></i>
    </a>
    <div class="total_price">342000</div>
    <div class="qty">
    <input type="number" value="4" class="count_input" id="1input_count" maxlength="3" max="999" min="1">
 × 90000 ريال</div>
    <div class="clearfix">
    </div>
</div>

342000
× 90000 ريال
我想让这段代码在我更改输入时提醒我

在用户提交输入元素的值之前,
change
事件不会被触发。用户必须首先输入一个新值,然后通过切换到另一个表单元素或在输入元素外部单击来模糊输入元素,以实际提交更改。直到那时,
更改事件才会触发

您可以改为使用
input
事件,该事件在更改输入元素的值时同步触发

旧式浏览器不支持
输入
事件(即 包含这些输入的一些html元素由$.get()代码收集

这就是您的代码所做的:

  • 将事件处理程序绑定到文档中当前的所有
    .count\u input
    元素
  • 发出HTTP请求
  • 在响应HTTP请求时,添加一些
    .count\u输入元素
  • 由于在步骤3中添加的元素在步骤1中不存在,因此它们永远不会绑定事件处理程序


    将绑定事件处理程序的代码移动到传递给
    $的函数末尾。get

    这可能是
    警报(“hi”)
    之后的行上的额外结束括号吗?哪些输入?是否使用
    $(“.main\u cart\u html”).html(main\u cart\u html)添加它们
    ?即,在您搜索它们并绑定事件处理程序之后?输入存在于页面中,例如,cod的第二部分确实有效,但第一部分无效。您能否在.count\u input附近显示HTML?什么类型的元素确切是
    。count\u input
    ?我怀疑您误解了什么类型的事件会发生触发一个
    更改
    。在其他元素之后,我从该php文件请求了脚本,问题终于解决了。谢谢你的帮助,兄弟。谢谢你的帮助,但这不是问题所在。