2016-07-04 6 views
0

Ich habe Label und Textfeld in jQuery Mobile und ich versuche, die Breite des Textfelds zu ändern.Breite des Textfelds jQuery mobile

Aus irgendeinem Grund, nachdem ich die Breite ändere, sagen wir für 60% ich sehe immer noch den Rest der 40% fast transparent.

Ich füge auch ein Foto davon, um mehr klar zu sein.

Dies ist der Code:

Html:

<div role="main" class="ui-content"> 
     <form> 
      <div class="ui-field-contain"> 
       <label for="sales1">Sales:</label> 
       <input type="text" id="sales" value=""> 
      </div> 
</form> 
</div> 

Css:

#sales {  
    width: 60%; 
} 

This is what i am getting.

Wie kann ich die Breite ändern, ohne die zusätzlichen 40% der Sehende Textfeld?

+0

Welche Browser verwenden Sie? – Siavas

+0

eigentlich ist es für Handys, aber ich benutze Chrom, Firefox und Safari. – Danny

Antwort

0

Bei der Verwendung von mobilen jQuery-Formularen sind die Eingaben in ein div eingeschlossen, das die Breite als 100% enthält. Um die Breite Ihres Textfelds zu ändern, müssen Sie lieber den Wert des übergeordneten Elements ändern, nicht die Eingabe selbst. Sie können dies mit jQuery erreichen:

$('#sales').parent().width($('#sales').parent().width() * .4); 

Der obige Code wird die Breite des übergeordneten div bis 40% seines tatsächlichen Wertes. Hier ist ein Beispiel Geige: https://jsfiddle.net/qctddeza/

.width() function reference

.parent() function reference

Edit:

Sie wäre in der Lage es mit CSS nur zu tun, aber nicht mit einem id-Auswahl, da Sie nicht das bekommen Eltern des Eingabeelements. Ein allgemeines Styling kann gesehen werden here.

Code entnommen aus W3Schools.

+0

die Javascript-Option funktionierte nicht für mich, aber die CSS-1 funktionierte perfekt! – Danny

+0

Dies kann aufgrund einer _! Wichtig_ Erwähnung im Styling des übergeordneten div geschehen. Freut mich zu hören, dass die CSS-Option Ihnen jedoch geholfen hat. – Siavas