jQuery - 如何在函数中保存jQuery代码块

时间:2017-10-24 14:08:12

标签: javascript jquery

我有一个jQuery代码,请参阅下面的内容。

$(document).ready(function () {    
    $('select').on('change', function () {
      var test = this.value;
      console.log(test);
    })

});

这是完美的。

现在我想要做的是,我想将此代码保存为函数,以便我可以在其他地方使用它。你能帮帮我吗?

更新

enter image description here

正如您在照片上看到的那样,有一个下拉列表。

src="https://maps.googleapis.com/maps/api/js?
key=MYAPIKEY&
callback=initAutocomplete

&language=fr" 

我想要更新的是,每当我从下拉列表中选择语言时,src属性都应该更新。在src属性中,您可以看到值,在该值中,最后一个参数是language。

我想根据下拉列表更新语言参数。

2 个答案:

答案 0 :(得分:1)

创建一个这样的函数:

url(r'^admin/order/(?P<order_id>\d+)/$', views.admin_order_detail, name='admin_order_detail'),

然后,使用该函数作为更改事件处理程序:

function onChange() {
  var test = this.value;
  console.log(test);
});

现在,您可以将此$(document).ready(function () { $('select').on('change', onChange); }); 重用于任何事件处理程序。

答案 1 :(得分:0)

有多个答案可以存储您所做的事情。

您可以将动作存储到一个函数中,也可以创建结果动作函数并将其附加到一个函数中。

$(".my-select").on("change",function(){
  actionAfterChange($(this).val())
});

//Just action
function actionAfterChange(value){
  console.log("function actionAfterChange > ",value)
}

//Create event listener and attach a function
function attachEventAndAction(element,event,action){
   $(element).on(event,function(){
      action($(this).val())
   });
}


attachEventAndAction(".my-select2","change",actionAfterChange)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="my-select">
<option value="1">1</option>
<option value="2">2</option>
</select>

<select class="my-select2">
<option value="1">1</option>
<option value="2">2</option>
</select>