Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.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 如何使用文本输入的id和值?_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用文本输入的id和值?

Javascript 如何使用文本输入的id和值?,javascript,jquery,Javascript,Jquery,文本框: <input class="qty_txt" input id="1234" type="text" placeholder="Current item QTY"> 如何使用文本框中的ID,将其定义为“productID”,并将文本框的值定义为“qty”,以便在函数的其余部分中使用 视频更好地说明了如何使用this和javascript中的上下文一个更简单的方法是使用jQuery$(this)选择器将当前分区作为参数传递给函数。这样,相同的函数适用于所有.qty tx

文本框:

<input class="qty_txt" input id="1234" type="text"  placeholder="Current item QTY">
如何使用文本框中的ID,将其定义为“productID”,并将文本框的值定义为“qty”,以便在函数的其余部分中使用


视频更好地说明了如何使用
this
和javascript中的上下文一个更简单的方法是使用jQuery
$(this)
选择器将当前分区作为参数传递给函数。这样,相同的函数适用于所有.qty txt类

您可以使用jQuery的
.attr()
方法获取div的ID,然后调用
.val()
获取值。您也可以在这里使用本机JS'
.value
方法

重要注意事项:jQuery代码周围的
$(document).ready()
包装器确保在页面加载时正确调用该代码。如果没有调用它,如果输入框被更改,浏览器将不知道如何操作

<html>
    <head>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <!--jQuery Google CDN-->
        <script type="text/javascript">
               $(document).ready(function() { 
                   $(".qty_txt").on("change", function ($(this)) {

                       var productID = $(this).attr("id");
                       var qty = $(this).val();

                       alert(productID + qty);

                   });
               });

        </script>
    </head>
    <body>
        <input class="qty_txt" input id="1234" type="text"  placeholder="Current item QTY">
    </body>
</html>

$(文档).ready(函数(){
美元(“.qty_txt”)。关于(“更改”,函数($(本)){
var productID=$(this.attr(“id”);
变量数量=$(this.val();
警报(productID+数量);
});
});

如果要从事件目标检索属性,可以在传递给
on()
函数()中使用specify参数,如下所示:

$(".qty_txt").on("change", function (e) {
  var productID = e.target.id;
  var qty = e.target.value;

  alert(productID + ":" +  qty);
});
看一看细节


<html>
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>
    </head>
    <body>
        <input type="text" class="qty_txt" id="id1" />
        <input type="text" class="qty_txt" id="id2" />
        <input type="text" class="qty_txt" id="id3" />
        <script>
        $(".qty_txt").on("change", function () {
          var productID = this.id, qty = this.value;
          alert(productID + qty);
        });
        </script>
    </body>
</html>
美元(“.qty_txt”)。关于(“更改”,函数(){ var productID=this.id,qty=this.value; 警报(productID+数量); });

这是一个具有不同ID的多个输入的示例,您可以将“change”函数绑定到所有“.qty\u txt”元素!您可以通过上面的代码获得productID和productValue

我并没有否决投票,但脚本标签应该在身体或头部最好是头部,若你们需要头部标签。在这种情况下,脚本标记应始终具有类型
。您已经完成了完整的html布局,jquery的包含在哪里?此外,你应该解释一个答案,而不仅仅是给出代码,如果这是非常复杂的,没有人会知道你可能会做什么@马丁巴克:谢谢你的提示:)我对这方面还比较陌生,仍在努力掌握窍门。你说的没错,但是,JavaScript是HTML5中脚本标记的默认类型,因此没有必要指定它。是的,使用它仍然很好,只是万一有人使用IE 9或更糟的工具:)我们作为元素的附加标记不会破坏任何东西,所以它有助于向后支持好的一点,我总是忘记有些人可能仍然在使用像那样的旧浏览器。谢谢你的提示!:)除了代码
这个
做了
这个
一直做的事情之外,请添加一些解释。对于javascript,它是一个指向类的指针。函数包含您正在运行的内容,我认为您指的是jQuery,因为该运行的所有代码都是选定项的HTML对象的本地代码。例如
htmlilement.jQueryEvtHanderClick()
那么当它调用
时,this
就是
htmlilement
$(".qty_txt").on("change", function (e) {
  var productID = e.target.id;
  var qty = e.target.value;

  alert(productID + ":" +  qty);
});
<html>
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>
    </head>
    <body>
        <input type="text" class="qty_txt" id="id1" />
        <input type="text" class="qty_txt" id="id2" />
        <input type="text" class="qty_txt" id="id3" />
        <script>
        $(".qty_txt").on("change", function () {
          var productID = this.id, qty = this.value;
          alert(productID + qty);
        });
        </script>
    </body>
</html>