jQueryUI를 사용하여 라디오/체크 상자 입력의 단추 세트를 만드는 경우 명시 적 레이블을 사용해야합니다. 즉, ID로 label
을 input
에 연결해야합니다.jQueryUI 단추 세트에 고유 ID가 필요함
동일한 페이지에서 여러 개의 동일한 버튼 세트를 사용하려는 경우 ID가 문서에서 고유해야하므로 모든 버튼 세트에 동일한 코드를 사용할 수 없습니다.
대부분의 브라우저는 고유하지 않은 ID를 허용하지만 웹 표준을 위반하지 않아도됩니다. 그리고 앞으로 브라우저가 비 고유 ID를 계속 지원할 것이라는 보장이 없습니다.
나는 모든 상황에 대해 고유 한 ID를 생성 할 수 있지만 코드를 복잡하게 만들고 ID가 실제로 고유하다는 문제를 추가합니다.
여러 개의 동일한 버튼셋을 처리하는 가장 좋은 방법은 무엇입니까?
이
이 문제를 보여줍니다 내 특정 상황에서 http://jsfiddle.net/C3NyV/1/을의 buttonset은 위젯 팩토리를 사용하여 만든 플러그인에 의해 생성됩니다. 이 특정 문제에 대한 해결책으로 이것이 도움이되는지 나는 모른다.
글쎄, 그러고 싶지만, 문제는 이것이다 : 1. jQueryUI buttonset()은 ID를 사용해야한다. 2. HTML 사양에서는 ID가 고유해야합니다. 단일 페이지에서 버튼 세트를 여러 번 사용하려는 경우이 두 가지가 서로 어긋나는 것처럼 보입니다. DOM 노드를 직접 참조하면 집합을 구별하는 것이 문제의 일부가 아닙니다. – Martijn
어떤 2 개의 ID가 필요한지 구체적으로 설명해 주시겠습니까? Fiddle - http://jsfiddle.net/bRhRM/1/을 업데이트했습니다. 두 컨테이너간에 다른 유일한 ID는 액세스 가능한 마크 업에 필요한 4 개의 라디오 버튼 자체의 ID입니다. –
예, 문제는 radiobuttons의 HTML 코드가 클라이언트 측에서 생성되어 고유 한 ID를 만드는 것이 어렵다는 것입니다. 비교적 비싼 generate/check-if-exists 루프를 수행하지 않으면 생성 된 ID가 이미 존재하지 않습니다. 이상적으로 buttonset()은 ID에 의존하지 않을 것입니다. – Martijn