您好我需要一些jquery的帮助,我在点击它们旁边的复选框时重命名下拉列表。我想在下面的代码中获取名为“Prev”的下拉列表的选定选项值,并分配给单击的复选框。我希望这是有道理的。感谢
$('.mutuallyexclusive').live("click", function() {
checkedState = $(this).attr('checked');
$('.mutuallyexclusive:checked').each(function() {
$(this).attr('checked', false);
$(this).attr('name', 'chk');
});
$(this).attr('checked', checkedState);
if (checkedState) {
jQuery('#myForm select[name=cat.parent_id]').attr('name', 'bar')
// here is the bit i need help with
// get the selected option of the dropdown prev and set it to $(this).val.. something along those lines
var prev = $(this).prev('select').attr("name", 'cat.parent_id');
}
else {
var prev = $(this).prev('select').attr("name", 'dd');
}
});
});
答案 0 :(得分:1)
HTML结构会有所帮助,但第一个优化是缓存初始复选框。接下来,利用jQuery中隐含的迭代。如果我理解你想要做什么,我最终得到这个:
$('.mutuallyexclusive').live("click", function() {
var $check = $(this);
var checkedState = $check.attr('checked');
$('.mutuallyexclusive:checked')
.attr('checked', '')
.attr('name', 'chk');
$check.attr('checked', checkedState);
if (checkedState) {
$check.attr('name', $check.prev('select').val());
} else {
$check.attr('name', 'dd');
}
});
我无法确定您是否想要将复选框的值分配给选择列表,反之亦然。我选择“将复选框的名称设置为选择列表的值”。希望这就是你所追求的。