Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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_Html - Fatal编程技术网

Javascript 使用jQuery遍历:在子对象上循环

Javascript 使用jQuery遍历:在子对象上循环,javascript,jquery,html,Javascript,Jquery,Html,大家好,我的html结构如下: <tr> <td> <div class="sigle-sz"> <span class="label-sz">36</span> <input class="" type="tel" value="" name=""> <div class="available yes"> &

大家好,我的html结构如下:

<tr>
    <td>
        <div class="sigle-sz">
            <span class="label-sz">36</span> <input class="" type="tel" value="" name="">
            <div class="available yes">
                <i aria-hidden="true" class="availablespot"></i>
            </div>
        </div> <!-- /sigle-sz -->
    </td>
    <td>
        <div class="sigle-sz">
            <span class="label-sz">38</span> <input class="" type="tel" value="" name="">
            <div class="available yes">
                <i aria-hidden="true" class="availablespot"></i>
            </div>
        </div> <!-- /sigle-sz -->
    </td>
    <td>
        <div class="sigle-sz">
            <span class="label-sz">40</span> <input class="" type="tel" value="" name="">
            <div class="available yes">
                <i aria-hidden="true" class="availablespot"></i>
            </div>
        </div> <!-- /sigle-sz -->
    </td>
</tr>
<script>
    function pippo() {

        //code here

    }

    $( document ).ready(function() {

        $( ".sigle-sz" ).on('change', function() {
            pippo();
        });
    });
</script>

36
38
40
我创建了一个jQuery函数,如下所示:

<tr>
    <td>
        <div class="sigle-sz">
            <span class="label-sz">36</span> <input class="" type="tel" value="" name="">
            <div class="available yes">
                <i aria-hidden="true" class="availablespot"></i>
            </div>
        </div> <!-- /sigle-sz -->
    </td>
    <td>
        <div class="sigle-sz">
            <span class="label-sz">38</span> <input class="" type="tel" value="" name="">
            <div class="available yes">
                <i aria-hidden="true" class="availablespot"></i>
            </div>
        </div> <!-- /sigle-sz -->
    </td>
    <td>
        <div class="sigle-sz">
            <span class="label-sz">40</span> <input class="" type="tel" value="" name="">
            <div class="available yes">
                <i aria-hidden="true" class="availablespot"></i>
            </div>
        </div> <!-- /sigle-sz -->
    </td>
</tr>
<script>
    function pippo() {

        //code here

    }

    $( document ).ready(function() {

        $( ".sigle-sz" ).on('change', function() {
            pippo();
        });
    });
</script>

函数pippo(){
//代码在这里
}
$(文档).ready(函数(){
$(“.sigle sz”).on('change',function(){
pippo();
});
});
我将在函数“
pippo()
”中循环
标记中的
元素,并将输入值保存在变量中

如果
this
$(“.sigle sz”)
元素,我如何完成这个循环

我把当前代码放在这里:

您可以使用
$。each()


使用.each()循环有很多方法可以解决这个问题。我认为如果你是新手,有一个可读性很强的循环是很重要的,否则你会很快迷失方向

1) 全局变量

2) 首先,确保当有人在输入中写入内容时收集数据

3) pippo函数将清除全局变量“arrSigle”(Array Sigle的缩写),并确保它只填充了写下的当前数字

    $(document).ready(function () {

       //1
       var arrSigle= [];

       //2
       $( ".sigle-sz" ).find("input").on("change", function(){
            pippo();
//just FYI, the "change" only fires when an input has a new value, and lose focus
// by any means. If it annoys you to have to click out of the box for pippo()
//to run, you might want to use "onkeyup" instead of "change".
//it will fire every time someone lets go of a key while inside the input

       })

       //3
       function pippo(){
           arrSigle.length = 0; //this clears the variable
           $( ".sigle-sz" ).find("input").each(function(){
                arrSigle.push($(this).val()); 
                //this itterates over all the inputs and pushes them into the
                //global variable.
           })
           //If you want some function to run right after all the
           //numbers has been gathered, put it right under this comment.

       }
    });

我们都可以讨论这有多“高效”,但考虑到您的页面可能有多小,我认为将其简化是完全合理的

您所说的循环、递归或循环是什么意思?你到底想做什么?你能告诉我们你试过什么吗?因为写函数名不算数。我想是一个循环,我不知道。。。如果我一直更新到元素,如何循环元素?当控件失去输入焦点并且自获得焦点以来其值已被修改时,将发生onchange事件。此属性适用于以下元素:输入、选择和文本区域。所以,
div.change()
不会有任何帮助!但是div上的onchange事件起作用了!我只想导航到children结构why全局变量?我不认为我们应该使用全局变量,直到我们确切地知道我们在做什么。在这种情况下,使用全局变量是不必要的,因为他正在从
文档调用
pipo()
函数。ready
,如果他想在事件中使用result,var必须是全局的。如果他有其他
。当前
元素之外的单个sz
元素呢?还有,
$each
将返回一个
未定义不是函数
错误。@BenM如果你想把你的答案标记为比我的好,并且不进行建设性的对话来帮助OP回答他的问题,请不要和我一起计算。a) 感谢您的
$。每次
更正。b) i如何传递参数会使代码更不可读,对OP c来说更容易理解)我们有HTML结构,所以他不应该有更多的
。单个sz
元素。。。