Jquery 为什么我在下拉过程中获得上一个id
我有一个街区,里面有很多小街区。我想编辑那些小的块,然后一次保存所有的块。因此,当我点击编辑,我有一个弹出的形式,当提交所需的数据将给我新的数据。现在的问题是,当我编辑第一个块,然后在提交后继续编辑第二个块时,单击下拉列表仍然给我以前的id而不是新的id。我哪里做错了?我就是搞不懂。我还尝试在每次提交后删除所选属性Jquery 为什么我在下拉过程中获得上一个id,jquery,html-select,Jquery,Html Select,我有一个街区,里面有很多小街区。我想编辑那些小的块,然后一次保存所有的块。因此,当我点击编辑,我有一个弹出的形式,当提交所需的数据将给我新的数据。现在的问题是,当我编辑第一个块,然后在提交后继续编辑第二个块时,单击下拉列表仍然给我以前的id而不是新的id。我哪里做错了?我就是搞不懂。我还尝试在每次提交后删除所选属性 $('#overlay_form').find('select.getdata option:selected').attr('selected', ''); 我的代码在这里:
$('#overlay_form').find('select.getdata option:selected').attr('selected', '');
我的代码在这里:
欢迎任何帮助或建议。提前感谢。问题似乎是您正在将多个事件绑定到 “获取数据”链接 单击事件将添加到同一个标记中。试着重写你的代码,这样你就有了所有的逻辑
$('a.ok').on('click', function(){
});
另外请注意,从jQuery1.7开始,.live()方法已被弃用。如果需要将事件绑定到不存在的html节点(稍后将通过ajax显示),可以这样做
$('document').on('click', 'a.ok', function(){
});
希望这能有所帮助。问题似乎是您正在将多个事件绑定到 “获取数据”链接 单击事件将添加到同一个标记中。试着重写你的代码,这样你就有了所有的逻辑
$('a.ok').on('click', function(){
});
另外请注意,从jQuery1.7开始,.live()方法已被弃用。如果需要将事件绑定到不存在的html节点(稍后将通过ajax显示),可以这样做
$('document').on('click', 'a.ok', function(){
});
希望这能有所帮助。我想你需要简化一下 下拉列表的更改事件
$('select.getdata').change(function(){
var id= $(this).val();
if(id==1)
{
// here is your code
}
else if(id==2)
{
//here is your code
}
});
$('a#btn_getdata').click(function(){
var id= $('select.getdata').val();
if(id==1)
{
// here is your code
}
else if(id==2)
{
//here is your code
}
});
我认为你需要简化这个 下拉列表的更改事件
$('select.getdata').change(function(){
var id= $(this).val();
if(id==1)
{
// here is your code
}
else if(id==2)
{
//here is your code
}
});
$('a#btn_getdata').click(function(){
var id= $('select.getdata').val();
if(id==1)
{
// here is your code
}
else if(id==2)
{
//here is your code
}
});
根据您的小提琴,您必须使变量controllerID全局化,或者至少由两个事件共享
var controllerId;
$('select.getdata').live('change', function(e){
//e.preventDefault();
e.stopPropagation();
...
GetData X的click事件不应在change事件中
$('a.ok').click(function(e){
e.preventDefault();
e.stopPropagation();
alert(controllerId);
...
这是你小提琴的更新
根据您的小提琴,您必须将变量controllerID设置为全局或至少由两个事件共享
var controllerId;
$('select.getdata').live('change', function(e){
//e.preventDefault();
e.stopPropagation();
...
GetData X的click事件不应在change事件中
$('a.ok').click(function(e){
e.preventDefault();
e.stopPropagation();
alert(controllerId);
...
这是你小提琴的更新
这没用,但我了解了一些新的东西。任何其他选择。对我来说,你的方法似乎是导致问题的原因。您需要将单个事件处理程序绑定到主提交按钮。然后在其中,您需要检查选择的下拉列表的值,并相应地处理表单提交。祝你好运。这没用,但我了解了一些新的东西。任何其他选择。对我来说,你的方法似乎是导致问题的原因。您需要将单个事件处理程序绑定到主提交按钮。然后在其中,您需要检查选择的下拉列表的值,并相应地处理表单提交。祝你好运。谢谢你的解决方案。请帮助我解决它,但为什么我的代码不起作用。此代码中的一个错误是var id=$(this.val();在$('a#btn_getdata')内。单击块。您应该获取选择按钮的值。此处将显示按钮的值。id应设置为两个函数之外的全局。谢谢您的解决方案,请帮助我解决此问题,但为什么我的代码不起作用。此代码中的一个错误是变量id=$(this).val();在$('a#btn_getdata')内。单击块。您应该获取选择按钮的值。此处将显示按钮的值。在两个函数之外,id应设置为全局。