태그만 사용 가능태그 옵션이 작동하지 않습니다.
-
28-10-2019 - |
문제
나는 태그-그것은 플러그인을 사용 https://github.com/aehlke/tag-it/downloads.새 태그 추가를 비활성화하는 방법은 무엇입니까?
$(document).ready(function () {
$("#Tags").tagit({
singleField: true,
singleFieldNode: $('#mySingleField'),
// onlyAvailableTags : true,
allowNewTags: false,
tagSource: [@Html.Raw(ViewBag.AvailableTags)]
});
});
나는 사용하려고 onlyAvailableTags : true
그리고 allowNewTags: false
옵션,하지만 효과가 없습니다.
해결책
당신이"하지만 아무런 효과가 없다"고 말하기 때문에,나는 그것을 추측 할 것입니다 @Html.Raw(ViewBag.AvailableTags)
자바스크립트 구문을 깨뜨리는 출력을 생성합니다.태그는 따옴표로 표시되어야 하며,그렇지 않으면 변수로 취급됩니다.
잘못된 출력:
tagSource: [my-tag, another-tag]
서버 측,나는 당신이 어떤 종류의 IEnumerable<string>
:
ViewBag.AvailableTags = new List<string>
{
"my-tag",
"another-tag",
};
그런 다음,당신의 .cshtml
:
tagSource: ["@string.Join("\", \"", ViewBag.AvailableTags)"]
이것은 올바른 출력을 생성 할 것입니다:
tagSource: ["my-tag", "another-tag"]
그게 내가 먼저 시도 할 것입니다.
다른 팁
댓글을 달아서 다음을 발견했습니다. 라코 디스
및 : 라코 디스
이 기능을 제거합니다.가장 깨끗한 방법은 아니지만 작동합니다.
if(){ }
루프를 주석 처리하면됩니다.
다음은 tag-it의 최신 버전에서 제가 한 작업입니다. 라코 디스
구현하여 깔끔하게 만들기 라코 디스
하지만 this.availableTags
는 배열을 반환하지 않습니다 (return : undefined
).저는 JS 멍청이이므로 속성에 액세스하는 방법에 문제가있는 것 같습니다.
제휴하지 않습니다 StackOverflow