我有javascript函数需要其中一个参数。这是一个例子:
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
函数中传递参数?
我知道在javascript中我可以这样:getBldg(this)
如果函数是在内联元素中定义的。在我的例子中,我根据元素ID调用此函数。这是我的HTML示例:
<select name="frm_block" id=""frm_block">
<option value="">Choose</option>
</select>
如果有人可以提供帮助,请告诉我。
答案 0 :(得分:3)
$('#frm_block').on('change',function(){
var filternum = $(this).val()
getBldg(filternum)
});
答案 1 :(得分:1)
使用event.target
参考: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);
&#13;
<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>
&#13;