0

我有一个小问题,出于样式目的,我使用定义列表而不是组合框,在我的 dd 标记内,有一个 ul,在每个 li 内,有一个跨度,有一个 value 属性。我正在尝试将该值放在文本字段中,以便可以在发布操作中使用它。这段代码在我的 li 的 click 函数里面:

var temp = $(this).find("span").attr("value");
$("#ch").val(temp);

我相信我的选择是正确的,因为当我记录 temp 的值时,它是我想要的值,但是当我记录 ch 字段的值时,我得到未定义。

我错过了什么?提前致谢。

何塞。

4

2 回答 2

2
$("#ch").val($(this).find("span").text());

但是,如果您确定temp具有正确的值(即使使用错误的方法),那么您可能没有达到目标,您确定元素具有 IDch吗?

于 2012-07-24T00:45:39.673 回答
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

  • 确保为要设置值的元素使用正确的 id。
  • 也许你的元素#ch在 DOM 中,所以你需要.on()像上面的例子一样使用,而不仅仅是$(selector).click();
于 2012-07-24T00:44:43.563 回答