2013-05-15 11 views
6

nella mia pagina html ci sono tre moduli di input sono stati collegati tra loro. primo ingresso come combobox con opzione:come rendere funzionale quale opzione comboboxing

  • TCA
  • Intasept secondo e terzo ingresso come tipo testo.

se il primo riempimento di input è "TCA" quando l'utente immette nel secondo input "01", quindi nel terzo input viene automaticamente riempito da "1-120". se il primo input fill è "intasept" quando l'input dell'utente nel secondo input "01" nel terzo input viene automaticamente inserito da "1-32".

in logica semplice.

  • primo input = "TCA" (opzione selezionata dall'utente).
  • secondo input = "01" (immissione manuale dall'utente).
  • terzo input = "1-120" (immissione automatica).

questo continuerà con intervallo di 120. es:

  • secondo ingresso: 02: 03 e così via.
  • terzo input: 121-240: 241-360 e così via.

se nel primo input = Intasetto (opzione selezionata dall'utente).

  • secondo input = 01 (immissione manuale dall'utente).
  • terzo ingresso = 1-32 (immissione automatica).
  • questo continuerà con intervallo di 32.

es:

  • secondo ingresso: 02: 03 e così via.
  • terzo input: 32-64: 65-96 e così via.

aiutarmi come fare questa funzione in javascript. questo, che cosa ho provato, ma questo non gestito

var interval, step; 
$("#first").change(function (e) { 
    if (this.option:selected) interval = { // map of input value attributes to interval values 
     "TCA": 120, 
     "intasept": 32 
    }[this.value]; 
    update(); 
}); 
$("#secondInput").on("change keyup input paste", function (e) { 
    step = parseInt(this.value, 10); 
    update(); 
}); 

function update() { 
    if (isNaN(interval) || isNaN(step)) return; 
    $("#thirdInput").val(((interval * step + 1)-interval) + "-" + ((interval * step + interval)-interval)); 
} 

http://jsfiddle.net/n8pSt/

+0

Sono l'unico che non sa come funziona la chiamata 'if'? Non riesco a capire cosa vuoi fare quando i trigger 'change'. – DaGLiMiOuX

risposta

1

http://jsfiddle.net/QXFKL/5/

if (this.option:selected) interval = { // map of input value attributes to interval values 
    "TCA": 120, 
    "intasept": 32 
}[this.value]; 

ma il valore che si stanno ottenendo è "Intesept" CaseSensitive

anche la vostra, se non ha funzionato quindi l'ho rimosso

+0

nice tq .... non me ne sono accorto prima – icool

Problemi correlati