2010-08-13 23 views
0

J'ai un sélecteur de genre, et un script qui obtient la valeur du genre sélectionné et le colle sur une étiquette, mais son collage de la valeur: "M" ou "F" . Maintenant, quand Im essayant d'obtenir cette lettre et de remplacer pour le genre réel, je suis manquant sur le script js. Pourriez-vous m'aider?Javascript: obtenir une valeur avec jQuery et le remplacer

$("#genderLabel").html(
        if($(this).value='F'){ 
         this.value='Female'; 
        } 
        if($(this).value='M'){ 
         this.value='Male'; 
        } 
); 

Je sais que le script est probablement faux, quelqu'un pourrait le corriger s'il vous plaît? Je vous remercie!

Répondre

2

Dans jQuery 1.4+, vous pouvez passer une fonction à .text() comme ceci:

$("#genderLabel").text(function(i, t) { 
    return t == 'F' ? 'Female' : t == 'M' ? 'Male' : t; 
}); 

Il convertit F-Female, M-Male et feuilles rien d'autre seul, au cas où de nouveaux genres apparaîtraient :)

+0

SyntaxError: missing: dans l'expression conditionnelle {message = "missing: dans l'expression conditionnelle", plus ...} – BoDiE2003

+0

@ BoDiE2003 - woops typo, fixed :) –

2

remplacer tous les value avec text()

if($(this).text()=='F'){ 
    $(this).text('Female'); 
} 
if($(this).text()=='M'){ 
    $(this).text('Male'); 
} 

Parmi quelques autres

3
var gender = $('#genderLabel'); 
if (gender.text() == 'F') { gender.text('Female'); } 
else { gender.text('Male'); } 
+0

Ce code, me donne des erreurs de syntaxe. $ ("[. Name = \\ userDto entre hommes et femmes]") changement (function() { if ($ (this) .text() == 'F') { $ (this) .text ('Femenino'); } else { $ (this) .text ('Masculino'); } }); – BoDiE2003

1

Pour utiliser .html() cette façon, vous devez passer un function comme argument qui renvoie la valeur que vous voulez.

Essayez-:http://jsfiddle.net/FDZBJ/

$("#genderLabel").html(function(i,html) { 
          html = $.trim(html); 
          if(html == 'F') return 'Female'; 
          if(html == 'M') return 'Male'; 
          return html; 
         });