2016-08-04 15 views
0

Ive eine Schaltfläche mit id ‚Filter‘ und auch zwei Eingabefelder:jQuery nicht geändert zu werden bekam Eingabewert

<input type="text" name="Status" value="{{ $Status }}"> 
<input type="text" name="CusJobNum" value="{{ $CusJobNum }}"> 

Dann habe ich dieses Skript jQuery

$(document).on('click', '#filter', function(){ 
    var url = 'JobsByDate/?'; 
    $('input').each(function(){ 
     var a = $(this).attr('name'); 
     var b = $(this).attr('value'); 
     if(!(b == '')) 
      url = url + '&'+a+'='+b; 
    }); 

    window.location = url; 
}); 

Der Code wird nur das bekommen Standardwert für die Eingabe, auch wenn ich das Feld ändere. Weiß jemand warum?

+2

Verwenden Sie 'var b = $ (this) .val();' –

Antwort

3

Verwenden Sie val(), um den Wert abzurufen, ab jetzt lesen Sie sein Attribut. das Verfahren .attr() wird verwendet, um Attributwert

var b = $(this).val(); 

OR, Go Native

var b = this.value; 
1

Sie verwenden attr() Methode, um den Wert zu erhalten, die immer wieder zurückkehrt den Attributwert im Markup zu erhalten. Sie sollten val() Methode verwenden, um den aktuellen Wert des Elements zu erhalten.

0

Verwenden Sie val(), um den Wert der Eingabe zu erhalten.

$(document).on('click', '#filter', function(){ 
     var url = 'JobsByDate/?'; 
     $('input').each(function(){ 
      var a = $(this).attr('name'); 
      var b = $(this).val(); 
      if(!(b == '')) 
       url = url + '&'+a+'='+b; 
     }); 

     window.location = url; 
    }); 
Verwandte Themen