黑马程序员技术交流社区

标题: jquey 使用的困惑 [打印本页]

作者: 李元峰    时间: 2012-6-13 02:32
标题: jquey 使用的困惑
下面是我写的用来修改 数据的juqery 代码:
//修改数据
          function modify(o){
               if($(o).val()=="修改"){
                     var tr = $(o).parent().parent();//获得<tr></tr>对象
                     var tds = tr.children();    //获得<td></td>数组
               
                      var channel=$(tds[0]).text();
                      var program=$(tds[1]).text();
                     
                      //将修改之前的频道栏目保存
                      $("#temprorarychannel").val(channel);    //这里用的是两个隐藏域将频道和栏目保存起来,目的是用来和修改之后做比较 如果没有修改 就不提交到服务器处理,这样可以节省带宽
                      $("#temproraryprogram").val(program);
                     
                      var inputforchannel = "<input type='text' value='"+channel+"'/>";
                      var inputforprogram = "<input type='text' value='"+program+"'/>";
                     
                      tds[0].innerHTML=inputforchannel;
                      $(tds[1]).html(inputforprogram);
                      $(o).val("确认修改");
                     
                     
                     
                     
                  }else   
                       {
                          var tr = $(o).parent().parent();//获得<tr></tr>对象
                          var tds=tr.children();    //获得数组
                          
                           //获得未修改之前的频道和栏目的值
                          var temproraryProgram=$("#temproraryprogram").val();
                          var temproraryChannel=$("#temprorarychannel").val();
                          
                          //获得修改之后的频道和栏目
                          
                          var html =$(tds[0].innerHTML).val(); //这里获取的是接受修改信息的 文本框的值 我打印了的,一直是修改之后的值,怎么回事?
                                                                                   //
                          alert(html);
                          
                        
                          var modifyChannel = $(tds[0].innerHTML).val();
                          var modifyProgram= $(tds[1].innerHTML).val();
                          
                         // alert(modifyProgram);
                         // alert(temproraryProgram==modifyProgram&&temproraryChannel==modifyChannel);
                         if(temproraryProgram==modifyProgram&&temproraryChannel==modifyChannel){
                             
                             tds[0].innerHTML=temproraryChannel;
                             tds[1].innerHTML=temproraryProgram;
                             
                         }else{
                               $.post("ModifyChannelProgram",{
                                       channel:temproraryChannel,
                                       program:temproraryProgram,
                                       command:"modify",
                                       modifychannel:modifyChannel,
                                       modifyprogram:modifyProgram
                               },function(returnData, status){
                                    if(returnData=="success"){
                                    
                                         //显示成功提示信息
                                    }else{
                                                                                
                                         //显示失败提示信息
                                    }
                               });
                              
                         }
                        
                          
                        
                         $(o).val("修改");
                     }
               
               }
请碰到过类似经历的同学解答,我之前也写过这样的修改的,但是我用的是ID 属性,而且 ID属性都是动态生成的,但是这样拼接字符串很麻烦。我想我是获取的元素的
innerHTML 是一个完整的 html 标签 然后 通过$() 封装成 jquery 对应 再调用里面的方法  但是 获取的是原来修改之前的值,请问 怎样可以把动态获取的 html 标签 封装成 juery 对象


作者: 江南    时间: 2012-6-13 02:39
不懂,!!!{:soso_e115:}
作者: 李元峰    时间: 2012-6-13 02:56
江南 发表于 2012-6-13 02:39
不懂,!!!

juery 比ajax 更简单 更易用,我刚开始也不同 ,慢慢的看着就会了
veryCD 上有下载的 你去找找看
作者: 江南    时间: 2012-6-13 03:01
李元峰 发表于 2012-6-13 02:56
juery 比ajax 更简单 更易用,我刚开始也不同 ,慢慢的看着就会了
veryCD 上有下载的 你去找找看 ...

等学到了在学了,自己学习浪费时间和精力,虽然提前学好,但是日后你可能会发现有时候自己摸索一天的东西 在别人的带领下 只花了半个小时就可以搞定了
作者: 李元峰    时间: 2012-6-13 03:16
江南 发表于 2012-6-13 03:01
等学到了在学了,自己学习浪费时间和精力,虽然提前学好,但是日后你可能会发现有时候自己摸索一天的东西 ...

别人带你 是别人的经验,你要在碰到同样的问题,可能会再花上一天,然后在别人的知道下又是只花半个小时就可以搞定,关键是解决问题,学习方法的总结是实践,学习方法,而不是仅仅是知识!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2