2017-10-23 1 views
1

私は引数の1つを必要とするjavascript関数を持っています。次に例を示します。ここでは関数のJQueryパスの値は?

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); 
    }); 
}; 

は、私は、この関数を呼び出す方法の例です:

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

だから私の質問はgetBldg機能に引数を渡す方法ですか?

私はこのことができます:getBldg(this)関数がinline要素で定義されている場合。私の場合は、要素IDに基づいてこの関数を呼び出します。私のHTMLの例を次に示します。

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

誰かが助けてくれれば教えてください。使用

+0

ラップ無名関数で呼び出し –

+0

[jQueryのchで引数を取る関数の使い方ange()メソッド?](https://stackoverflow.com/questions/4897368/how-to-use-a-function-that-takes-arguments-with-jquerys-change-method) –

答えて

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

その他の方法event.target

参考:上の `$( '#のfrm_block')(」: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>