2016-11-15 1 views
1

와 값을 포함하는 나는 두 가지 기능을 가지고가져 JQuery와 데이터 - 공간

"<input type=\"image\" + " data-file_name=" + result.fileName/>" 

좋은 작품,하지만 난려고 할 때 data-file_name value에 공백이 있으면 두 번째 함수에서 해당 값을 검색합니다. 예를 들어 data-file_name= "The book blue"을 얻은 경우 The을 얻었을 때 두 번째 함수를 얻는다면 ... 이것은 두 번째 함수에서 값을 가져 오는 방법입니다.

var fileName = $(this).data("file_name"); 

그래서 fileName variable은 공백 뒤에 아무 것도 포함하지 않으므로 실제 값을 얻지 못합니다. 공백과 모든 것을 포함하여 완전한 값을 검색하는 데 사용해야합니까?

+0

시도해보십시오. var fileName = $ (this) .attr ("data-file_name"); – Ali7091

+2

연결 문제가 있습니다. 이 입력란으로 바꾸십시오. ""' – Robiseb

+0

@Robiseb 답으로 입력하면 올바른 것으로 선택하겠습니다 이제 답하십시오 :) – AlexGH

답변

1

연결 문제가 있습니다.

은 당신이 만드는 것은 올바른 구문되지 않습니다

"<input type=\"image\" data-file_name=\"" + result.fileName + "\" />" 
+0

또는 더 나은 점은 ES6을 사용하면 템플릿 문자열을 사용하고 다음을 수행 할 수 있습니다 :''. 훨씬 더 깔끔한 접근법이지만 사용자 기반과 응용 프로그램에 따라 ES6이 옵션이 아닐 수도 있습니다. 문서 도구 : https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Template_literals –

1

로 교체하십시오.

// Invalid Syntax: 
<input type="image" data-red dragon="" /> 

서버를 통해 입력을 템플릿으로 만들거나 생성 할 때 마크 업에는 데이터 속성에 공백이있을 수 없습니다. 그것은 약간의 사용자 정의를 허락하지만. 공간에 실패한 이유는 데이터 속성에 "Red"를 연결하고 "Dragon"을 다른 속성으로 처리하기 때문입니다. 본질적으로

,이 생성되는 :

<input type="image" data-red="" dragon="" /> 
<input type="image" data-red="" /> 

모두 당신이 의도하지 않습니다. 해당 데이터 속성을 올바르게 빌드하려면 공간을 제거해야합니다. 다른 옵션은 파일 이름을 데이터 속성이 아닌 값으로 지정하는 것입니다. 예를 들면 : 나는 @FileName을 배치 위치를

<input type="image" data-filename="@FileName" /> 

물론, 당신은 생성하기 위해 어떤 방법을 사용합니다. 또한 작은 따옴표를 사용하고 실제로 큰 따옴표를 사용하여 JavaScript의 연결을 단순화 할 수 있습니다.