Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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 类似的选择,如何知道哪一个被改变了?_Javascript_Jquery - Fatal编程技术网

Javascript 类似的选择,如何知道哪一个被改变了?

Javascript 类似的选择,如何知道哪一个被改变了?,javascript,jquery,Javascript,Jquery,我有一个可以添加行的页面,其中包括下拉选择字段。这些字段中的每一个都是用drop1、drop2、drop3等id动态创建的 我想用ajax实现从mysql中提取一些数据,我遇到的问题是知道哪个下拉列表已更改为提取数据 我用它来知道当前有多少个选择字段,但不知道如何确定哪个字段已更改。感谢您的帮助 var myCount = $("select[id^=drop]").length; 这是添加的行 var n=($('.detail tr').length-0)+1; var tr = '

我有一个可以添加行的页面,其中包括下拉选择字段。这些字段中的每一个都是用drop1、drop2、drop3等id动态创建的

我想用ajax实现从mysql中提取一些数据,我遇到的问题是知道哪个下拉列表已更改为提取数据

我用它来知道当前有多少个选择字段,但不知道如何确定哪个字段已更改。感谢您的帮助

var myCount = $("select[id^=drop]").length;
这是添加的行

var n=($('.detail tr').length-0)+1;  

var tr = '<tr>'+  
'<td>'+n+'</td>'+
'<td><select id="drop'+n+'" name="prodService[]"></select></td>'+
'<td id="desc'+n+'"></td>'+ 
'<td><a href="#" class="remove">Delete</a></td>'+ 
'</tr>'; 
整个想法围绕着选择输入,就像任何输入都接受所有事件一样。任何输入都需要点击、更改、输入……等等,比如说我们有3个选择下拉列表

如何检测其中是否有更改并获取新值

$('.select-list').on('change', function(evt) {
    console.log($(this).val());   // get the select value - new value if changed
    console.log($(this).attr('id'));   // just for implementation purposes and debugging   
});
进一步说,您可以实现如下功能:当用户从下拉列表中选择一个项目时,向服务器发送请求以获取一些数据。您可以使用value=attribute,put keyword/key trigger来区分它们,根据选择的项目发送不同的请求

$。选择列表。在“更改”上,函数EVT{ console.log$this.val;//获取选择值-如果更改,则获取新值 console.log$this.attr'id';//仅用于实现和调试 }; 项目1 项目2 项目3 项目4 项目1 项目2 项目3 项目4 项目1 项目2 项目3 项目4 整个想法围绕着选择输入,就像任何输入都接受所有事件一样。任何输入都需要点击、更改、输入……等等,比如说我们有3个选择下拉列表

如何检测其中是否有更改并获取新值

$('.select-list').on('change', function(evt) {
    console.log($(this).val());   // get the select value - new value if changed
    console.log($(this).attr('id'));   // just for implementation purposes and debugging   
});
进一步说,您可以实现如下功能:当用户从下拉列表中选择一个项目时,向服务器发送请求以获取一些数据。您可以使用value=attribute,put keyword/key trigger来区分它们,根据选择的项目发送不同的请求

$。选择列表。在“更改”上,函数EVT{ console.log$this.val;//获取选择值-如果更改,则获取新值 console.log$this.attr'id';//仅用于实现和调试 }; 项目1 项目2 项目3 项目4 项目1 项目2 项目3 项目4 项目1 项目2 项目3 项目4

请添加选择代码为什么需要计数?如果将事件处理程序附加到选择器,例如.change函数{…},则事件处理程序应该在ContextName中具有目标,您可以在函数中使用$this来引用正在更改的元素。updated可显示添加带有select INFO的行的代码我想要它的原因是每行都有一个下拉列表,当它更改时,将为该行选择一个服务,我要打电话询问该服务的描述。请添加选择代码为什么需要计数?如果将事件处理程序附加到选择器,例如.change函数{…},则事件处理程序应该在ContextName中具有目标,您可以在函数中使用$this来引用正在更改的元素。更新以显示添加带有select INFO的行的代码我想要它的原因是每行都有一个下拉列表,当它被更改时,将为该行选择一个服务,我将调用该服务的说明。谢谢。在我的脑海里,我让事情变得更加困难!好的,我使用了你的建议,它是有效的,但只对第一个select输入有效,它不是用javascript创建的。我只是在控制台上打印,如果我用javascript添加另一行,该行就会显示出来,但当我更改select输入时,它不会打印到控制台上。有什么想法吗?我使用了var t=$.select-service.length;并将t打印到控制台,当我使用-$时,它会正确地计算它们。每个$选择服务,函数{console.log$this.val;console.log$this.val;};它打印正确的东西。这是我的事件处理程序代码-$.select service.on'change',functionevt{console.log$this.val;//获取select值-如果更改了console.log$this.attr'id';//仅用于实现和调试};非常感谢。在我的脑海里,我让事情变得更加困难!好的,我使用了你的建议,它是有效的,但只对第一个select输入有效,它不是用javascript创建的。我只是在控制台上打印,如果我用javascript添加另一行,该行就会显示出来,但当我更改select输入时,它不会打印到控制台上。有什么想法吗?我使用了var t=$.select-service.length;并将t打印到控制台,当我使用-$时,它会正确地计算它们。每个$选择服务,函数{console.log$this.val;console.log$this.val;};它打印正确的东西。这是我的事件处理程序代码-$.select service.on'change',functionevt{console.log$this.val;//获取select v value-如果更改了console.log$this.attr'id';则为新值仅用于实现目的和调试};