2566 posts Put a Donk On It
    Has referred 200+ members Has sold $250,000+ on Envato Market Has collected 10+ items on Envato Market Elite Author: Sold more than $75,000 on Envato Market
+10 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!

2024 posts
    Elite Author: Sold more than $75,000 on Envato Market Has sold $250,000+ on Envato Market Sells items exclusively on Envato Market Contributed a free file of the month
+8 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();

});

2566 posts Put a Donk On It
    Has referred 200+ members Has sold $250,000+ on Envato Market Has collected 10+ items on Envato Market Elite Author: Sold more than $75,000 on Envato Market
+10 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 4 years Has referred 10+ members Has sold $10,000+ on Envato Market Has collected 10+ items on Envato Market
+6 more
wizylabs says

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

3429 posts
    Has referred 1000+ members Has sold $500,000+ on Envato Market Has collected 100+ items on Envato Market Elite Author: Sold more than $75,000 on Envato Market
+10 more
sevenspark Volunteer moderator says

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

2566 posts Put a Donk On It
    Has referred 200+ members Has sold $250,000+ on Envato Market Has collected 10+ items on Envato Market Elite Author: Sold more than $75,000 on Envato Market
+10 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