2017-07-29 3 views
3

Ich habe Autocomplete auf Adressformulareingabe. Wenn der Benutzer auf den Vorschlag klickt, wird der Status und die Postleitzahl automatisch ausgefüllt. cp_state ist ein Auswahlfeld mit einer Dropdown-Liste mit Namen, während cp_zipcode ist ein Eingabetext für die Postleitzahl.Wert eines Formulars ändern Selectbox Betroffen von jquery.selectBox Plugin

Ich benutze den JavaScript-Code unten, um die Aufgabe der Aktualisierung der Werte und deren Deaktivierung durchzuführen.

$('#cp_zipcode').val(data.postcode); 
document.getElementById("cp_zipcode").value = data.postcode; 
document.getElementById("cp_zipcode").disabled=true; 

document.getElementById("cp_state").value = data.state; 
$('#cp_state').val(data.state); 
$('#cp_state').change(); 
document.getElementById("cp_state").disabled=true; 

Der obige Code für die zipcode Eingang arbeitet, die, sobald Benutzer eine Adresse auswählt, die zipcode bestückt ist und deaktiviert Änderung zu vermeiden, unfortunaley es nicht für staatliche selectbox funktioniert, nicht sicher, warum, aber ich denke, vielleicht beeinflusst das jquery.selectBox.min.js? ver = 1.2.0 Plugin die Aufgabe, da es die cp_state selecbox automatisch versteckt und ein neues Styling hinzufügt, obwohl nicht sicher, was es tut.

Firebug output

HTML Formularfelder

<input value="" name="cp_address" id="cp_address" type="text" class="text" placeholder="" /> 

<select name="cp_state" id="cp_state" class="dropdownlist required"> 
    <option value="">-- Select --</option> 
    <option value="All State">All State</option> 
    <option value="Johor">Johor</option> 
    <option value="Kedah">Kedah</option> 
    <option value="Kelantan">Kelantan</option> 
    <option value="Wilayah Persekutuan Kuala Lumpur">Wilayah Persekutuan Kuala Lumpur</option> 
    <option value="Wilayah Persekutuan Labuan">Wilayah Persekutuan Labuan</option> 
    <option value="Melaka">Melaka</option> 
    <option value="Negeri Sembilan">Negeri Sembilan</option> 
    <option value="Pahang">Pahang</option> 
    <option value="Wilayah Persekutuan Putra Jaya">Wilayah Persekutuan Putra Jaya</option> 
    <option value="Perlis">Perlis</option> 
    <option value="Pulau Pinang">Pulau Pinang</option> 
    <option value="Perak">Perak</option> 
    <option value="Sabah">Sabah</option> 
    <option value="Selangor">Selangor</option> 
    <option value="Sarawak">Sarawak</option> 
    <option value="Terengganu">Terengganu</option> 
</select> 

<input value="57000" name="cp_zipcode" id="cp_zipcode" type="text" class="text" placeholder="Enter zipcode" /> 

Kann jemand dieses Problem zu beheben, muss ich den Wert von selectbox Auswahl automatisch nach der automatischen Vervollständigung ändern. Ich werde deine Hilfe wirklich schätzen.

Antwort

1

jquery selectBox wird automatisch ausblenden Ihr Element und erstellen a mit ul Liste als Anzeige. ersetzen Sie Ihren Code oben mit

$('#cp_zipcode').val(data.postcode); 
$('#cp_zipcode').attr('disabled', true); 

// set value 
$('#cp_state').selectBox('value', data.state); 

// 'enable' or 'disable` control 
$('#cp_state').selectBox('disable'); 
+0

Es hat funktioniert! Ich habe den Code wie vorgeschlagen geändert und die Auswahlbox wurde bei der automatischen Vervollständigung der Adressauswahl mit dem Statusnamen ausgefüllt und wurde deaktiviert, um Änderungen durch den Benutzer zu verhindern. Danke ich schätze deine Hilfe :) – Ibrahim

Verwandte Themen