Reputation: 2357
Christ is Risen,
Hello,
I have the following code:
<script type="text/javascript">
gramatoseira = "Tahoma, Geneva, sans-serif";
<?php
if(isset($_COOKIE["gramatoseira"])) {
echo "gramatoseira = \"" . $_COOKIE["gramatoseira"]."\";";
}
?>
</script>
The php execution output is something like:
<script type="text/javascript">
gramatoseira = "Tahoma, Geneva, sans-serif";
gramatoseira = "\'Lucida Console\', Monaco, monospace"; </script>
<select id="grammatoseires">
<option value="Georgia, serif">Georgia, serif</option>
<option value="\'Palatino Linotype\', Book Antiqua, Palatino, serif">"Palatino Linotype", "Book Antiqua", Palatino, serif</option>
<option value="\'Times New Roman\', Times, serif">"Times New Roman", Times, serif</option>
<option value="\'Arial Black\', Helvetica, sans-serif">"Arial Black", Gadget, sans-serif</option>
<option value="\'Comic Sans MS\', cursive, sans-serif">"Comic Sans MS", cursive, sans-serif</option>
<option value="\'Lucida Sans Unicode\', Lucida Grande, sans-serif">"Lucida Sans Unicode", "Lucida Grande", sans-serif</option>
<option value="Tahoma, Geneva, sans-serif">Tahoma, Geneva, sans-serif</option>
<option value="\'Trebuchet MS\', Helvetica, sans-serif">"Trebuchet MS", Helvetica, sans-serif</option>
<option value="Verdana, Geneva, sans-serif" >Verdana, Geneva, sans-serif</option>
<option value="\'Courier New\', Courier, monospace">"Courier New", Courier, monospace</option>
<option value="\'Lucida Console\', Monaco, monospace">"Lucida Console", Monaco, monospace</option>
<select>
I am trying to set the value. $("#grammatoseires").val(gramatoseira);
The above code does n't do nothing.
Any help would be usefull.
Upvotes: 0
Views: 49
Reputation: 2357
Based on Jonas W code.
I wrote this:
<?php
$fonts = array();
$fonts[0] = "Georgia, serif";
$fonts[1] = "\'Palatino Linotype\', Book Antiqua, Palatino, serif";
$fonts[2] = "\'Times New Roman\', Times, serif";
$fonts[3] = "\'Arial Black\', Helvetica, sans-serif";
$fonts[4] = "\'Comic Sans MS\', cursive, sans-serif";
$fonts[5] = "\'Lucida Sans Unicode\', Lucida Grande, sans-serif";
$fonts[6] = "Tahoma, Geneva, sans-serif";
$fonts[7] = "\'Trebuchet MS\', Helvetica, sans-serif";
$fonts[8] = "Verdana, Geneva, sans-serif";
$fonts[9] = "\'Courier New\', Courier, monospace";
$fonts[10] = "\'Lucida Console\', Monaco, monospace";
$font_output = "";
foreach($fonts as $font){
$font_output.="<option value=\"".$font."\"";
if(isset($_COOKIE["gramatoseira"])&& $font==$_COOKIE["gramatoseira"]) {
$font_output.=" selected='selected' ";
}
$font_output.=">".$font."</option>";
}
echo $font_output;
?>
Works pretty well. Thanks all for your help!
Upvotes: 0
Reputation: 22246
It doesn't like the escaped quotes in your option values.
Do:
<option value="'Lucida Console', Monaco, monospace">...</option>
or
<option value="'Lucida Console', Monaco, monospace">...</option>
$('button').click( function () {
gramatoseira = "'Lucida Console', Monaco, monospace";
$("#grammatoseires").val(gramatoseira);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="grammatoseires">
<option value="Georgia, serif">Georgia, serif</option>
<option value="'Palatino Linotype', Book Antiqua, Palatino, serif">"Palatino Linotype", "Book Antiqua", Palatino, serif</option>
<option value="'Times New Roman', Times, serif">"Times New Roman", Times, serif</option>
<option value="'Arial Black', Helvetica, sans-serif">"Arial Black", Gadget, sans-serif</option>
<option value="'Comic Sans MS', cursive, sans-serif">"Comic Sans MS", cursive, sans-serif</option>
<option value="'Lucida Sans Unicode', Lucida Grande, sans-serif">"Lucida Sans Unicode", "Lucida Grande", sans-serif</option>
<option value="Tahoma, Geneva, sans-serif">Tahoma, Geneva, sans-serif</option>
<option value="'Trebuchet MS', Helvetica, sans-serif">"Trebuchet MS", Helvetica, sans-serif</option>
<option value="Verdana, Geneva, sans-serif" >Verdana, Geneva, sans-serif</option>
<option value="'Courier New', Courier, monospace">"Courier New", Courier, monospace</option>
<option value="'Lucida Console', Monaco, monospace">"Lucida Console", Monaco, monospace</option>
</select>
<button>Set it</button>
Upvotes: 1
Reputation: 138557
Theres no need to do this with JS. Simply output the options directly:
<option value="Georgia, serif">Georgia, serif</option>
<?php
if(isset($_COOKIE["gramatoseira"])) {
echo "<option selected='selected' value='" . $_COOKIE["gramatoseira"]."' >".$_cookie["gramatoseira"]."</option>";
}
?>
Upvotes: 1