2011-04-15 59 views
0

我有一個這樣的代碼:如何在JQuery中簡化代碼?

$('#messageList').change(function() { 
    var id = $("#messageList option:selected").val(); 
    if(id <= 0) { 
     $('#updatemessage').hide(); 
     $('#addmessage').show(); 
    } else { 
     $('#updatemessage').show(); 
     $('#addmessage').hide(); 
    } 
    }); 

我可以用別的來使我的代碼更短,例如切換就像在jQuery函數?

回答

3
$('#messageList').change(function() { 
    var doAdd = $(this).find("option:selected").val() <= 0; 
    $('#updatemessage').toggle(!doAdd); 
    $('#addmessage').toggle(doAdd); 
}); 
1
// cache variables 
var updatemessage = $('#updatemessage'); 
var addmessage= $('#addmessage'); 
var list = $('#messageList'); 

// toggle messages 
list.change(function() { 
var id = list.find("option:selected").val(); 
updatemessage.toggle(id > 0); 
addmessage.toggle(id <= 0); 
}); 
+0

既然你做了我喜歡的緩存,嘗試這樣做:'VAR ID = this.options [ this.selectedIndex] .value'。當你真正擁有索引時,爲什麼你會使用.find? :d – Khez 2011-04-15 11:41:36