我遇到一些问题,一些动态创建的选择控件[下面]当用户使用鼠标更改控件时它们工作,但不能用于关键事件[选项卡到控件并使用箭头更改值]我该怎么办?更改jQuery,以便键盘事件可用于操作选择控件?
这是使用鼠标更改控件时触发的jquery,但不是在使用键盘时触发:
$('#sub-budgets-container').on('change','.budget_type_id',function() {
console.log('select changed')
var option = $(this).val();
var container = $(this).parent().parent().parent();
$(container).find(".hidden_budget_type_id").val(option);
});
这是克隆select控件容器的jquery:
$('#add-sub-budget').click(function(){
console.log('button clicked');
var newBudgetGroup = $('#budget-amounts').clone();
newBudgetGroup.find('.budget_type_id').removeAttr('disabled');
newBudgetGroup.find('.budget_type_id').attr('id', 'budget_type_id_control[]');
newBudgetGroup.find('.budget_type_id').attr('name', 'budget_type_id_control[]');
newBudgetGroup.find('#budget-id-select').removeClass('hidden');
newBudgetGroup.find('.budget_amount').val('');
newBudgetGroup.attr('id', 'sub-budget-amounts');
//newBudgetGroup.find('.hidden_budget_type_id').remove();
newBudgetGroup.blur(); newBudgetGroup.insertBefore( '#子预算');
});
更新
想通了:
$('#add-sub-budget').click(function(){
console.log('button clicked');
var newBudgetGroup = $('#budget-amounts').clone();
newBudgetGroup.find('.budget_type_id').removeAttr('disabled');
newBudgetGroup.find('.budget_type_id').attr('id', 'budget_type_id_control[]');
newBudgetGroup.find('.budget_type_id').attr('name', 'budget_type_id_control[]');
newBudgetGroup.find('#budget-id-select').removeClass('hidden');
newBudgetGroup.find('.budget_amount').val('');
newBudgetGroup.attr('id', 'sub-budget-amounts');
//newBudgetGroup.find('.hidden_budget_type_id').remove();
newBudgetGroup.blur();
newBudgetGroup.insertBefore('#sub-budgets');
});