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

Javascript 如何更改输入';是否按名称或id更改事件?

Javascript 如何更改输入';是否按名称或id更改事件?,javascript,jquery,html,Javascript,Jquery,Html,我有一个HTML片段,它是我网站的简单版本。输入名称与行索引相关。因此,我想知道如何使用jQuery更改输入的onchange事件 对于每一行,它都有自己与行索引相关的函数。例如,对于tr index=0,它有函数Test1(),对于tr index=1,它有函数Test2() 无法简单地使用输入选择器,因为页面中还有一些其他输入。只有输入的id和名称是唯一的 <tr stampId = '1001' index = '0'> <td> <s

我有一个HTML片段,它是我网站的简单版本。输入名称与行索引相关。因此,我想知道如何使用jQuery更改输入的onchange事件

对于每一行,它都有自己与行索引相关的函数。例如,对于tr index=0,它有函数Test1(),对于tr index=1,它有函数Test2()

无法简单地使用输入选择器,因为页面中还有一些其他输入。只有输入的id和名称是唯一的

<tr stampId = '1001' index = '0'>
    <td>
        <span>
        <input type="text" name="QuickOrderQty@6@0@1" id="QuickOrderQty@6@0@1" ct="Field" onchange=" SaveControlState(event,'Text');">
        </span>
    </td>
</tr>
<tr stampId = '1001' index = '1'>
    <td>
        <span>
        <input type="text" name="QuickOrderQty@6@1@1" id="QuickOrderQty@6@1@1" ct="Field" onchange=" SaveControlState(event,'Text');">
        </span>
    </td>
</tr>
<tr stampId = '1001' index = '2'>
    <td>
        <span>
        <input type="text" name="QuickOrderQty@6@2@1" id="QuickOrderQty@6@2@1" ct="Field" onchange=" SaveControlState(event,'Text');">
        </span>
    </td>
</tr>
<tr stampId = '1001' index = '3'>
    <td>
        <span>
        <input type="text" name="QuickOrderQty@6@3@1" id="QuickOrderQty@6@3@1" ct="Field" onchange=" SaveControlState(event,'Text');">
        </span>
    </td>
</tr>

嗯,也许我应该把我想要的结果放在这里

<script>Do something here, then change the onchange events to below.</script>
<tr stampId = '1001' index = '0'>
    <td>
        <span>
        <input type="text" name="QuickOrderQty@6@0@1" id="QuickOrderQty@6@0@1" ct="Field" onchange="Test1();">
        </span>
    </td>
</tr>
<tr stampId = '1001' index = '1'>
    <td>
        <span>
        <input type="text" name="QuickOrderQty@6@1@1" id="QuickOrderQty@6@1@1" ct="Field" onchange="Test2();">
        </span>
    </td>
</tr>
<tr stampId = '1001' index = '2'>
    <td>
        <span>
        <input type="text" name="QuickOrderQty@6@2@1" id="QuickOrderQty@6@2@1" ct="Field" onchange="Test3();">
        </span>
    </td>
</tr>
<tr stampId = '1001' index = '3'>
    <td>
        <span>
        <input type="text" name="QuickOrderQty@6@3@1" id="QuickOrderQty@6@3@1" ct="Field" onchange="Test4();">
        </span>
    </td>
</tr>
在此处执行一些操作,然后将onchange事件更改为以下内容。

如果出现任何错误,请道歉。这是我第一次回答问题。我甚至没有那么有经验

如果我理解正确,那么您需要知道导致事件触发的元素。你可以用这个词

$("input").change(function(event) {
    var x = $(this).val();
    // x = the value of the input element that triggered the event.
});

我希望这会有所帮助。

如果您使用的是jQuery,那么就不应该使用内联
onchange
事件处理程序。此外,如果希望以具有相同行为的多个元素为目标,请使用共享类。如果您同时做这两件事,那么使用jQuery的
index()
方法将变得微不足道:

var函数={
Test1:function(){console.log(“TextBox1已更改”)},
Test2:function(){console.log(“TextBox2已更改”)},
Test3:function(){console.log(“TextBox3已更改”)},
Test4:function(){console.log(“TextBox4已更改”)}
}
$(document).on('change','.myClass',function(){
var index=$(this.index();
功能[“测试”+索引]();
})


可能重复的可以将索引作为参数传递给泛型函数如果将onchange函数更改为接受变量
this
,则该方法将引用触发事件的输入,而不管其名称/id是什么,可能会减少按索引拥有唯一/重复函数的需要。“对于每一行,它都有自己与行索引相关的函数。例如,对于tr index=0,它有函数Test1(),对于tr index=1,它有函数Test2()…“-这可能是一个函数,它基于传递的索引
es切换到适用的分支。。。