1

这是一段适用于我的 jquery 代码:

   onSelect: function() {
        var thevalue = $(this).val();
        jQuery('#input').val(thevalue);
    }

标记是这样的:有一个 text ,然后是一个自动建议项目的列表

<ul class="ac_results">
<li><span class="suggested">
  <span class="ac_matched">(matched text)</span>
 (rest of auto-suggested text)</span>
<div class="count">(number)</div>
 </li>
repeat..
repeat...
etc...
</ul>

此标记/jQUery 组合有效,但会将带有数字的完整字符串返回到输入字段中。我想省略那个数字,所以我做了:

   onSelect: function() {
        var thevalue = $(this).find(".suggested").text();
        jQuery('#input').val(thevalue);
    }

它返回空。

数字可以是任何东西,跨度可以包含数字,所以我厌倦了仅仅过滤掉数字。

4

1 回答 1

0

您没有发布您的 HTML,但明显的怀疑是

$(this).find(".suggested")

不返回任何元素。在选择其他东西之前,请始终确保您的链在 jQuery 中的堆栈上有元素。

这很容易测试:

alert($(this).find(".suggested").length);

如果你得到0,它不匹配任何东西。如果您根本没有收到警报,则整个功能都没有运行。

于 2012-07-29T17:56:02.453 回答