我很好奇最好的方法是整合这一堆Jquery .focus函数。
基本上,我使用它来允许URL上有#ID,当它出现时,Jquery会更新页面上显示的表单。
最好的方法是整合这个,这样我就不必一遍又一遍地重复相同的代码?
注意,所有带有ID的元素都有相同的类。
谢谢, Ĵ
-
$('#select-1').focus(function(e) {
// set the selected choice based on URL ID
$category_select.val('1');
updateSupport($categorychoice.val());
});
$('#select-2').focus(function(e) {
// set the selected choice based on URL ID
$category_select.val('billing');
updateSupport($categorychoice.val());
});
$('#select-3').focus(function(e) {
// set the selected choice based on URL ID
$category_select.val('setup');
updateSupport($categorychoice.val());
});
$('#select-4').focus(function(e) {
// set the selected choice based on URL ID
$category_select.val('errors');
updateSupport($categorychoice.val());
});
$('#select-5').focus(function(e) {
// set the selected choice based on URL ID
$category_select.val('customization');
updateSupport($categorychoice.val());
});
$('#select-6').focus(function(e) {
// set the selected choice based on URL ID
$category_select.val('6');
updateSupport($categorychoice.val());
});
答案 0 :(得分:0)
为什么不向每个'select-?'添加属性(例如data-source-id =“item id”)然后你可以使用css选择器附加focus()和属性来确定它与哪个id相关...
$(".myCssName").focus(....)
$category_select.val( $(this).data("source-id") )
根据kpblc的建议编辑
答案 1 :(得分:0)
尝试使用Object:
var values = {
'select-1' : '1',
'select-2' : 'billing',
'select-3' : 'setup',
'select-4' : 'errors',
'select-5' : 'customization',
'select-6' : '6'
};
$('[id^=select-]').on('focus', function(e) {
$category_select.val(values[this.id]);
updateSupport($categorychoice.val());
});