嗨,我需要一些 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');
}
});
});
最佳答案
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');
}
});
我无法从您的问题中确定您是否要将复选框的值分配给选择列表,反之亦然。我选择了“将复选框的名称设置为选择列表的值”。希望这就是你所追求的。
关于jquery 小问题我需要帮助,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2878583/