有一个脚本可以从选择字段添加/删除选项 - 我要删除的选项的“值”应该等于所点击链接的“类”。我已经尝试了这个脚本的几个不同版本,我不能为我的生活弄清楚如何正确地将变量delText放入函数中以删除它。帮帮忙!
$('a.del').click(function() {
var delText = $(this).attr('class');
window.parent.$("select[name='<?php echo $f; ?>']").remove($("<option></option>").text(delText));
});
答案 0 :(得分:3)
如果元素的value
等于链接的class
,请执行以下操作:
$('a.del').click(function() {
var delText = $(this).attr('class');
$('option[value=' + delText + ']').remove();
});
我不确定这实际上是否与你想要做的事情相符? <?php ?>
位似乎非常不合适,我也不确定window.parent
位。
答案 1 :(得分:0)
尝试类似:
$("select[name='<?php echo $f; ?>'] > option[value=" + delText + "]").detach();
选择并分离具有指定值的选项,该值是指定select元素的子(“&gt;”选择器)。
答案 2 :(得分:0)
通过.del
选择链接意味着您无法使用他们的课程来 识别他们相关的<option/>
。也许您可以使用rel
代替(对于任何一个值)。
$('a[rel=del]').click(function (event) {
event.preventDefault();
$('select[name=<?php echo $f; ?>] option')
.remove('[value=' + $(this).attr('class') + ']');
});
工作示例:http://jsfiddle.net/prH9M/
如果您将字符串传递给remove
,它会过滤当前集(而不是其子集)。您也可以选择(通过find
)选项,然后只需拨打remove
,无需过滤
$('select[name=<?php echo $f; ?>]')
.find('option[value=' + $(this).attr('class') + ']')
.remove();