2015-01-28 3 views
2

나는 지금은 사용자가 입력 한 값이 목록에 위치를 찾으려면이 코드를 사용하고이구문 오류, 인식 할 수없는 표현 : 옵션 [값 = 속성 이름]

<datalist id="properties"> 
     <option value="property name"></option> 
     <option value="property"></option> 
</datalist> 

처럼 보이는 DataList에이 :

var user_property = $('#user_property').val().toLowerCase(); // taken from input type with id user_property 
var pro = $('#properties').find("option[value="+user_property.replace(' ','-')+"]"); 
if(pro != null && pro.length > 0) 
{ 
    // run some code 
} 
else 
{ 
    // show error popup 
} 

내가 var pro = $('#properties').find("option[value="+user_property.replace(' ','-')+"]");

오류 코드에서 오류가 발생하고는 Syntax error, unrecognized expression: option[value=property name]

을 말한다

이 오류를 제거하는 방법? 같은

답변

5

시도 추가 따옴표 :

var replaced = user_property.replace(' ','-'); 
var pro = $('#properties').find("option[value='"+replaced+"']"); 

는 "속성 이름"과 같은 텍스트를 확인하려는 경우 다음 당신이 직접 할 수있는 :

var pro = $('#properties').find("option[value='"+user_property.replace(' ','-')+"']"); 

이상은 아래로 그것을 깰

var pro = $('#properties').find("option[value='"+user_property+"']"); 
+0

처럼 값을 작은 따옴표를 추가 할 필요가 있지만, "확인하고 싶은 경우는 false – runningmark

+0

@runningmark을 반환 있도록 옵션 목록은"속성 이름 "가 속성 이름 "다음 대체 할 필요가 없습니다 .. 내 추가 답변 .. 마찬가지로! –

+0

이상하게 들리지만, 두 번째 해결책은 파이어 폭스에서 작동하지만 크롬에서는 작동하지 않습니다. \ – runningmark

1

값 주변에 따옴표를 추가하면 올바르게 작동합니다.

$('#properties').find("option[value='property name']") 
0

당신은 일 것

var pro = $('#properties').find("option[value='"+user_property.replace(' ','-')+"']"); 
관련 문제