2017-10-23 3 views
1

Ich habe JavaScript-Funktion, die eines der Argumente erfordert. Hier ist Beispiel:JQuery Wert in der Funktion übergeben?

function getBldg(filterNum){ 
    var bldg = $('#frm_bldg'); 

    $.ajax({ 
     type: 'POST', 
     url: 'Application.cfc?method=getBuildings', 
     data: {'filterNum':filterNum}, 
     dataType: 'json' 
    }).done(function(obj){ 
     var numRecs = obj.RECORDCOUNT; 

     if(obj.STATUS == 200){ 
      return true; 
     }else{ 
      return false; 
     } 
    }).fail(function(jqXHR, textStatus, errorThrown){ 
     alert(errorThrown); 
    }); 
}; 

Hier ist Beispiel dafür, wie ich diese Funktion aufrufen:

$('#frm_block').on('change',getBldg); 

So ist meine Frage, wie ein Argument in getBldg Funktion zu übergeben?

Ich weiß in Javascript konnte ich dies: getBldg(this), wenn Funktion im Inline-Element definiert wurde. In meinem Fall rufe ich diese Funktion auf der Grundlage der Element-ID auf. Hier ist Beispiel meines HTML:

<select name="frm_block" id=""frm_block"> 
    <option value="">Choose</option> 
</select> 

Wenn jemand helfen kann, lass es mich wissen.

+0

Wickeln Sie den Anruf in einer anonymen Funktion: '$ ('# frm_block') auf (‘. change ', function() {getBldg (' foo ');}); ' –

+0

Mögliches Duplikat von [Wie benutzt man eine Funktion, die Argumente mit jQuerys ch akzeptiert ange() Methode?] (https://stackoverflow.com/questions/4897368/how-to-use-a-function-that-takes-arguments-with-jquerys-change-method) –

Antwort

3
$('#frm_block').on('change',function(){ 
    var filternum = $(this).val() 
    getBldg(filternum) 
}); 
1

Andere Art und Weise mit event.target

Ref: https://api.jquery.com/event.target/

function getBldg(filterNum) { 
 
    
 
    // This is nothig but event object 
 
    // uncomment below to see its content 
 
    // console.log(filterNum); 
 
    
 
    // to access selected value, you have to use 
 
    // filterNum.target .... 
 
console.log($(filterNum.target).val()); 
 
}; 
 

 

 
/* 
 
since you are interested in inline, so I am not using 
 
$('#frm_block').on('change', function(){ 
 
     getBldg($(this).val()); 
 
}); 
 
*/ 
 

 
$('#frm_block').on('change', getBldg);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select name="frm_block" id="frm_block"> 
 
    <option value="">Choose</option> 
 
    <option value="1">Choose-1</option> 
 
    <option value="2">Choose-2</option> 
 
</select>

Verwandte Themen