设置文本字段';从JQuery上的span value属性中选择s值

设置文本字段';从JQuery上的span value属性中选择s值,jquery,html,textfield,Jquery,Html,Textfield,我有一个小问题,出于样式设计的目的,我使用的是定义列表而不是组合框,在我的dd标记中,有一个ul,在每个li中,有一个span,带有value属性。我试图将该值放在一个文本字段中,以便在post操作中使用它。此代码位于my li的单击功能中: var temp = $(this).find("span").attr("value"); $("#ch").val(temp); 我相信我的选择是正确的,因为当我记录temp的值时,它是我想要的,但是当我记录ch字段的值时,我得到了未定义的值 我错过

我有一个小问题,出于样式设计的目的,我使用的是定义列表而不是组合框,在我的dd标记中,有一个ul,在每个li中,有一个span,带有value属性。我试图将该值放在一个文本字段中,以便在post操作中使用它。此代码位于my li的单击功能中:

var temp = $(this).find("span").attr("value");
$("#ch").val(temp);
我相信我的选择是正确的,因为当我记录temp的值时,它是我想要的,但是当我记录ch字段的值时,我得到了未定义的值

我错过了什么? 提前谢谢


何塞

要知道,
span
元素没有
属性,除非您自己在标记中定义它


实现您想要的目标的可能方法:

使用以下命令:

$('#ch').val($(this).find('span').html());
或:

其中:

$(selector).on('click', function() {
   $('#ch').val($(this).find('span').text());
});
未定义问题的可能解决方案:

  • 确保为要设置值的元素使用了正确的id
  • 可能您的元素
    #ch
    在DOM中,因此您需要使用
    .on()
    作为上面的示例,而不仅仅是
    $(选择器)。单击()

要知道,
span
元素没有
属性,除非您自己在标记中定义它


实现您想要的目标的可能方法:

使用以下命令:

$('#ch').val($(this).find('span').html());
或:

其中:

$(selector).on('click', function() {
   $('#ch').val($(this).find('span').text());
});
未定义问题的可能解决方案:

  • 确保为要设置值的元素使用了正确的id
  • 可能您的元素
    #ch
    在DOM中,因此您需要使用
    .on()
    作为上面的示例,而不仅仅是
    $(选择器)。单击()
但是,如果您确定
temp
具有正确的值(即使使用了错误的方法),那么您可能没有达到目标,您确定元素具有ID
ch


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

正确的想法是谁会给
span
元素赋予
value
属性(根据您上次的更新)
span
元素没有
value
属性,除非你自己在标记中定义它。@fabriciomatté-谁知道呢,但问题确实表明
temp
变量应该包含正确的值?哦,糟糕,我错过了他在
temp
中声明获得正确值的部分。不过,我的观点仍然站得住脚,可以使用
数据-
属性或其他数百种更好的方法。如果OP正在创建自定义属性,这里有一些建议。@Fabricio Matté-我同意你的观点,我不得不把这个问题读了四遍,才能真正看到它实际上表明
temp
值是正确的,这样就剩下第二行了,除了选择器之外,没有什么问题了?是的,或者可能,
#ch
不是
输入
元素,因此没有要使用
.val()
设置的
属性?例如,如果
#ch
span
,那么应该使用
$('#ch').html(temp)
$('#ch').text(temp)
。正确的想法是谁会给
span
元素一个
属性(根据您上次的更新)
span
元素没有
value
属性,除非你自己在标记中定义它。@fabriciomatté-谁知道呢,但问题确实表明
temp
变量应该包含正确的值?哦,糟糕,我错过了他在
temp
中声明获得正确值的部分。不过,我的观点仍然站得住脚,可以使用
数据-
属性或其他数百种更好的方法。如果OP正在创建自定义属性,这里有一些建议。@Fabricio Matté-我同意你的观点,我不得不把这个问题读了四遍,才能真正看到它实际上表明
temp
值是正确的,这样就剩下第二行了,除了选择器之外,没有什么问题了?是的,或者可能,
#ch
不是
输入
元素,因此没有要使用
.val()
设置的
属性?例如,如果
#ch
span
,则应使用
$('#ch').html(temp)
$('#ch').text(temp)