2012-07-29 4 views
1

여기 나를 위해 작동 jQuery 코드의 조각이다 :

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

마크 업이 같다 : 텍스트, 다음 자동의 목록이있다 추천 항목

<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 콤보 WORKS가 있지만 입력란에 숫자와 함께 전체 문자열을 반환합니다. 그 숫자를 제외하고 싶습니다. 그래서 제가했습니다 :

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

빈을 반환합니다.

숫자는 무엇이든 될 수 있으며 스팬에는 숫자가 포함될 수 있으므로 숫자를 필터링하는 것에 지쳐 있습니다.

+1

마크 업을 게시 할 수 있습니까? –

+0

마크 업을 게시 할 수 있습니까? –

답변

0

당신은 당신의 HTML을 게시하지 않지만, 분명 의심

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

어떤 요소를 반환되지 않는 것입니다. 다른 것들을 선택하기 전에 체인이 jQuery의 스택에 요소를 가지고 있는지 항상 확인하십시오.

이 쉽게 테스트 : 당신이 0을 얻을 경우, 아무것도 일치하지 않는 것

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

. 전혀 경고하지 않으면 전체 기능이 실행되고 있지 않습니다.

+0

나는 0을 얻는다. 그것은 어떤 것과도 일치하지 않는다. 그러나, 내가 말했듯이, 그것은 $ (this) .val(); – marctain

+0

onSelect 이벤트가 어떤 반응인지 알아내는 것은 쉽지 않습니다. 주목할만한 점은 find는 요소 자체가 아니라 자식 요소만을 찾습니다. div.find ('. foo')는 div 요소에 div 요소가없는 div 요소를 찾습니다. –

+0

0을 얻는다면 체인에는 요소가 없습니다. 바로 문제가 해결되어야합니다. – Utkanos

관련 문제