我有一个小问题,出于造型目的,我使用的是定义列表而不是组合框,在我的dd标签内,每个li里面都有一个ul,有一个span,带有一个value属性。我正在尝试将该值放在文本字段上,因此我可以在后期操作中使用它。这段代码在我的li的点击功能中:
var temp = $(this).find("span").attr("value");
$("#ch").val(temp);
我相信我的选择是正确的,因为当我记录temp的值时,它是我想要的那个,但是当我记录ch字段的值时,我得到了未定义。
我错过了什么? 提前致谢。
何。
答案 0 :(得分:2)
$("#ch").val($(this).find("span").text());
但是,如果您确定temp
具有正确的值(即使使用了错误的方法),那么您可能没有达到目标,是否确定该元素具有ID ch
?
答案 1 :(得分:1)
要知道,span
元素没有value
属性,除非您自己在标记中定义它。
实现目标的可能方法:
使用此:
$('#ch').val($(this).find('span').html());
或者:
$('#ch').val($(this).find('span').text());
在此内部:
$(selector).on('click', function() {
$('#ch').val($(this).find('span').text());
});
undefined
问题的可能解决方案:
#ch
位于DOM中,因此您需要使用.on()
作为上述示例,而不仅仅是$(selector).click();