2627 posts Put a Donk On It
  • Had an item that became a weekly top seller
  • Elite Author: Sold more than $75,000 on Envato Market
  • Sells items exclusively on Envato Market
  • Made it to the Authors' Hall of Fame
+11 more
ThemeProvince
says

Here is my code:


$jadmin("#page_template_select select").change(function () {

    var selected_meta_box = '#' + (($jadmin(this).find("option:selected").attr("role")).replace(/ /g, "_")).toLowerCase();

    $jadmin("#page_template_select select option").each(function () {

        if ($jadmin(this).text() != "Default") {

        var meta_box = $jadmin(this).attr("role").replace(/ /g, "_").toLowerCase();

        $jadmin('div#' + meta_box).hide();

        }

    });

    $jadmin(selected_meta_box).show();

});

Why do I get this error?

Uncaught syntax error, unrecognised expression: #

I don’t get how it can call a string an expression.

Been trying to diagnose for 2 hours and I can’t find a solution, please help!

2275 posts
  • Became a Top 20 Author of the Month
  • Had an item that became a weekly top seller
  • Created a helpful tool/app using the Envato API
  • Created a helpful tool/app for Envato Market users
+15 more
revaxarts
says
Try

$jadmin("#page_template_select select").change(function () {

    var selected_meta_box = (($jadmin(this).find("option:selected").attr("role")).replace(/ /g, "_")).toLowerCase();

    $jadmin("#page_template_select select option").each(function () {

        if ($jadmin(this).text() != "Default") {

        var meta_box = $jadmin(this).attr("role").replace(/ /g, "_").toLowerCase();

        $jadmin('div#' + meta_box).hide();

        }

    });

    $jadmin('#' + selected_meta_box).show();

});

2627 posts Put a Donk On It
  • Had an item that became a weekly top seller
  • Elite Author: Sold more than $75,000 on Envato Market
  • Sells items exclusively on Envato Market
  • Made it to the Authors' Hall of Fame
+11 more
ThemeProvince
says

Didn’t work :(

It only works without the each function like this:


$jadmin("#page_template_select select").change(function () {

    var selected_meta_box = (($jadmin(this).find("option:selected").attr("role")).replace(/ /g, "_")).toLowerCase();

    $jadmin('#' + selected_meta_box).show();

});

So its something wrong with that.

1012 posts
  • Has been part of the Envato Community for over 5 years
  • Has referred 10+ members
  • Has sold $10,000+ on Envato Market
  • Has collected 10+ items on Envato Market
+8 more
wizylabs
says

on which line does that error appear? http://cl.ly/7jZ6 or http://cl.ly/7hyV

3535 posts
  • Power Elite Author: Sold more than $1M on Envato Market
  • Has sold $1M+ on Envato Market and is now a Power Elite Author
  • Had an item that was trending
  • Located in United States
+13 more
sevenspark
Moderator
says

Weird, your code seems to work in this fiddle: http://jsfiddle.net/sevenspark/8pYUy/1/

2627 posts Put a Donk On It
  • Had an item that became a weekly top seller
  • Elite Author: Sold more than $75,000 on Envato Market
  • Sells items exclusively on Envato Market
  • Made it to the Authors' Hall of Fame
+11 more
ThemeProvince
says

Yesss! I fixed it. There was somehow an extra interation in the each loop. So when jquery tried to hide it, it didnt exist so threw an error. Weird though as this never usually happens, its like my code was haunted by an AS3 compiler.

by
by
by
by
by
by