$(this)在jquery中警告先前选定的值

时间:2015-03-25 07:25:50

标签: javascript jquery

我正在使用$(this)来获取特定类的当前所选(单击)元素。这是第一次它即将到来,即我正在获取所选元素但是只要我第二次点击它就是提供旧的和新的选择的警报。我无法找出问题所在.. 这是代码..

            $('.l-one').click(function () {

             var tableName = $(this).text();

             //Table Name Lable
             $("#lbl").text(tableName);

             //Panel
             $("#Perticulars").show();

             $('.my-new-three').click(function () {
                 var dishvalue = $(this).text(); //get the value of dish item and display in the table
                 //console.log(dishvalue); 
                 alert(tableName);
                 alert(dishvalue);
                 if (localStorage.getItem(tableName) != null) {
                     alert("b");

alert(tableName);我收到了之前选择的所有表格的警报。请帮我解决这个问题。 感谢...

2 个答案:

答案 0 :(得分:0)

使用下面的代码。每次单击“.l-one”时,只需单击“分配事件”。因此,如果您点击'.l-one'3次'点击'事件,将3次分配给'.my-new-three'。

unbind()函数从元素中移除事件,将bind()函数附加事件移除到元素。所以每次点击'.l-one'取消绑定从'.my-new-three'中删除click事件并再次绑定函数时,按照你的代码将click事件分配给'.my-new-three'。

  $('.my-new-three').unbind('click').bind('click',function () {});

其他方法是使用单独的点击事件方法。

 $('.l-one').on('click', function () { });

 $('.my-new-three').on('click',function () {})

答案 1 :(得分:0)

使用单独的单击处理程序,而不是使用另一个单击处理程序。请考虑以下代码:

$('.l-one').click(function () {
//code
}

$('.my-new-three').on("click",function () {
   //code
}

假设.my-new-three.l-one内有.my-new-three动态创建,请使用以下内容:

$('.l-one').on("click",".my-new-three",function () {
   //code
}