Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

jquery working in FF but not IE...

Posted on 2010-11-08
4
Medium Priority
?
301 Views
Last Modified: 2012-05-10
Hello, I wrote this little piece of script.. but for the life of me I can't seem to figure out why and how it's now failing in IE but not FF.... this is the bit I think is the issue..


loadPastSearch();
$("select[name='Species'],input[name='breed'],select[name='Gender'],select[name='Pet_Friendly'],select[name='Child_Friendly'],input[name='Good_with_Children'],input[name='Good_with_Cats'],input[name='Good_with_Dogs'],input[name='Housetrained']").live('change',function() {                        
  var obj=$(this);
  pushSearch(obj);
  if(refinIt){refinment(obj);}
  alert('test');
});



but I pasted the whole lot below... now.. here is the twist.... it works in IE here..
http://www.petrescueville.com/index.php?page=home

but fails here
http://www.petrescueville.com/index.php?page=search 

I'm sure it's something simple.. any ideas? Thank you for the help.. Cheers -Jeremy

var searchin='';
  var string='';
  var total='';
  var rogue='';
  var oldVal=new Array();
  var refinIt=false;
function dump(arr,level) {
  var dumped_text = "";
  if(!level) level = 0;
  
  //The padding given at the beginning of the line.
  var level_padding = "";
  for(var j=0;j<level+1;j++) level_padding += "    ";
  
  if(typeof(arr) == 'object') { //Array/Hashes/Objects 
    for(var item in arr) {
      var value = arr[item];
      
      if(typeof(value) == 'object') { //If it is an array,
        dumped_text += level_padding + "'" + item + "' ...\n";
        dumped_text += dump(value,level+1);
      } else {
        dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
      }
    }
  } else { //Stings/Chars/Numbers etc.
    dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
  }
  return dumped_text;
}

function pushSearch(obj){
  var newVal='';
  var Newsearchin='';
  var name=$(obj).attr('name').toString();
  if(!$(obj).is(':checkbox')){
    newVal=$(obj).val();
  }else{
    if ($(obj).is(':checked')){
      newVal=$(obj).val();
    }else{
      newVal='';
    }
  }
  var searchin=$("input[name$='search_text']").val();

  Newsearchin=searchin.replace(oldVal[name],'');

  oldVal[name]=newVal;
  Newsearchin=Newsearchin+' '+newVal;
  $("input[name$='search_text']").val($.trim(Newsearchin));

}
function refinment(obj){
  $('.contentMainInner').append('<img src="/uploads/siteTheme/loading.gif" class="loading"/> Loading ... ');
    $.post($(obj).closest("form").attr('action'),
      $(obj).closest("form").serialize()+"&"+$("input[name$='search_submit']").attr('name')+"="+$("input[name$='search_submit']").attr('name')+"&showtemplate=false",
      function(data){
      $('.contentMainInner').html(data);
      loadPastSearch();
    });  
}
function loadPastSearch(){
  if($('.search').length < 1){
    $("input:not('#retry input')[name$='search_text']").val('');
  }
  if($('.search').length > 0 && $('#lookingFor').length > 0 && $('#lookingFor').html()!=''){
    $("input[name$='search_text']").val($('#lookingFor').html());
    
    var pastSearch=$('#lookingFor').html();
    var lookingpostal=$('#lookingpostal').html();
    var lookingradius=$('#lookingradius').html();

    if(pastSearch.indexOf(" ") != -1){
      var str=pastSearch.split(" ");
    }else{
      var str=new Array();
      str.push(pastSearch);
    }
    //alert(dump(str));
    for (var i=0;i<str.length;i++){
      var found=false;          
      $('.search input').each(function(index, domEle) {
        if($(this).val()==str[i]){  
            var theName = str[i];
            oldVal[$(this).attr('name')]=str[i];
           // alert('.search input --'+str[i]);
            if(!$(this).is(':checkbox')){
              $(this).val(str[i]);
              found=false;
            }else if($(this).is(':checkbox')){
              $(this).attr('checked','checked');
              if( !$('.refine').is(':visible') ) { 
              $(".refine").toggle("slow");
              }
              if( !$('.refine:last').is(':visible') ) { 
              $(".refine").toggle("slow");
              }
              found=true;
            }
        }
      });  
      $('.search option').each(function(index, domEle) {
        //alert($(this).val()+' --'+str[i]);
        if($(this).val()==str[i]){  
            var theName = str[i];
            oldVal[$(this).closest('.search select').attr('name')]=str[i];
            //alert('.search select --'+str[i]);
            $(this).attr('selected','selected');
            found=true;
        }
      });
      //alert(dump(oldVal));
      if(found==false){
        rogue=rogue+' '+str[i];
      }  
    }
    //alert('final: '+dump(oldVal));
    $("input[name='breed']").val($.trim(rogue));
    $("input[name$='ccev_postal']").val(lookingpostal);
    $("input[name$='ccev_radius']").val(lookingradius);
    
    refinIt=true;
  } 
}


$(document).ready(function(){
loadPastSearch();
$("select[name='Species'],input[name='breed'],select[name='Gender'],select[name='Pet_Friendly'],select[name='Child_Friendly'],input[name='Good_with_Children'],input[name='Good_with_Cats'],input[name='Good_with_Dogs'],input[name='Housetrained']").live('change',function() {                        
  var obj=$(this);
  pushSearch(obj);
  if(refinIt){refinment(obj);}
  alert('test');
}); 
  
  
  
  $("input[name$='cal_search_submit']").live('click',function(event) {
    if($("select[name='Species']").val()==''){
      event.preventDefault();
      alert('Please choose a species');
    }
  });
  
  $('.Linkrefine').live('click',function (event) {
    event.preventDefault();
    $(this).next(".refine").toggle("slow");
  });  
  
});

Open in new window

0
Comment
Question by:jeremyBass26
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
4 Comments
 
LVL 13

Expert Comment

by:dsmile
ID: 34090160
I think you call the same script twice and it causes the problem

<script src="scripts/SpryMenuBar.js" type="text/javascript"></script>

<script type="text/javascript" src="http://www.petrescueville.com/uploads/lib/SD-temp/groupID/1.js?1289264665"></script> // <--- this line should be removed since it's called at the end of the page


0
 
LVL 4

Author Comment

by:jeremyBass26
ID: 34090335
nope.. nothing to do with it.. sorry... one is a menu script.. the other.. is the script above.. tk
0
 
LVL 13

Accepted Solution

by:
dsmile earned 1000 total points
ID: 34090515
Try to move <script type="text/javascript" src="http://www.petrescueville.com/uploads/lib/SD-temp/groupID/1.js?xyz"></script>
to below <script type="text/javascript" src="http://www.petrescueville.com/uploads/lib/SD-temp/scriptID/1.js?xyz"></script>

I saved your search page to local and your script works again either when I remove that /groupID/1.js or move it to below /scriptID/1.js
0
 
LVL 4

Author Closing Comment

by:jeremyBass26
ID: 34093825
What you were asking to do doesn't work.. but.. there is something with colorbox that was getting in the way.. but I have a path to beat down.. thanks..
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
A while back, I ran into a situation where I was trying to use the calculated columns feature in SharePoint 2013 to do some simple math using values in two lists. Between certain data types not being accessible, and also with trying to make a one to…
The viewer will the learn the benefit of plain text editors and code an HTML5 based template for use in further tutorials.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

688 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question