J'ai un formulaire caché avec une liste dont j'ai besoin de sélectionner une option à partir du moment où un utilisateur souhaite afficher ce formulaire. J'utilisais var assignée = 'noms de personnes'; JQuery (option '# edit-form' [value = '+ option +']: first '). Attr ("selected", "selected");Problème lors de la sélection d'un élément dans une boîte SELECT avec jQuery avec un quot
J'ai essayé de le faire, mais cela ne fonctionne pas comme la valeur dans la balise option est spécifiée avec le \ ainsi, donc il ne trouvera pas un match
jQuery('#edit-form option[value='+option.replace(/\'/,'\\\'')+']:first').attr("selected", "selected");
fait Il présente façon le suivant ma seule option?
jQuery('#edit-form option').each(function(){
if(jQuery(this).val() == option) {
jQuery(this).attr("selected", "selected");
return false;
}
});
une page de test
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script>
//test vars
var option1 = "option two";
var option2 = "option '";
var option = option2;
$(document).ready(function(){
$('#edit-form [name=select1] option').each(function(){
if($(this).val() == option) {
$(this).attr("selected", "selected");
return false;
}
});
$('#edit-form [name=select2] option[value='+option+']:first').attr("selected", "selected");
option = option.replace(/\'/,'\\\'');
$('#edit-form [name=select3] option[value='+option+']:first').attr("selected", "selected");
});
</script>
</head>
<body>
<form id="edit-form">
<select name=select1>
<option value="option one">option one</option>
<option value="option two">option two</option>
<option value="option two">option two</option>
<option value="option \'">option \'</option>
<option value="option '">option '</option>
</select>
<select name=select2>
<option value="option one">option one</option>
<option value="option two">option two</option>
<option value="option two">option two</option>
<option value="option \'">option \'</option>
<option value="option '">option '</option>
</select>
<select name=select3>
<option value="option one">option one</option>
<option value="option two">option two</option>
<option value="option two">option two</option>
<option value="option \'">option \'</option>
<option value="option '">option '</option>
</select>
</body>
</html>
Merci, mais si vous aviez essayé avec la page d'exemple, vous auriez vu que cela ne fonctionne pas non plus. – Cornelis
@Cornelis: Cela fonctionne pour moi, ajouté la commande correcte que j'utilise. –
D'accord, cela a effectivement fait marcher ça! Merci pour cela, jQuery agissant bizarre parfois je vois. – Cornelis