문제

나는 태그-그것은 플러그인을 사용 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 멍청이이므로 속성에 액세스하는 방법에 문제가있는 것 같습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top