2011-01-27 5 views
0

osCommerce 인스턴스에서 jQuery를 사용하여 양식 데이터를 조작하고 일부 요소를 선택하는 데 문제가 있습니다.jquery selector가 []으로 작동하지 않습니다.

스크립트는 ID PRODUCT_DESCRIPTION [N, N 인 1, 2, 3 ...

문제 []와 ID 값을 갖는에 jQuery를 만드는 것이있다 (심지어해서 가진 텍스트 영역을 생성) 요소를 선택하지 않기 때문에 나는 그것을 사용할 수 없다.

$('#product_description[1]').attr('id','products_description_1'); 

이런 식으로 뭔가를 선택 jQuery를 만들 수있는 방법이 있나요 :

나는 정보를 조작 한 후 []로 다시 변경하지만조차 할 수 없어, 밑줄로 ID를 전환 시도 $ ('# some [2]') ... 함수 ...?

그렇지 않으면, 나는 평소와 같이 작동하고

예, 내가 아는 그 필드를 인식하도록 PHP의 []로 다시 변경할 수 있기 때문에 괜찮아요 다음 ID 값을 변경할 수있는 다른 방법이 있다면 , 클래스에 의해 다른 방법으로 텍스트 영역을 선택할 수 있지만 te 페이지에 많은 텍사스가 있기 때문에 고유 한 이름이 필요합니다. 그러면 필자는 원하지 않는 osCommerce 스크립트 편집을 다시 시작할 것입니다. 내 JS를 oscommerce 커뮤니티에 기고하고 다른 사람이 .js를 쉽게 추가 할 계획이지만 자바 스크립트가 작동하도록 PHP 파일을 편집해야하는 경우 초보자에게는 너무 무서울 수도 있고 누군가에게는 불가능할 수도 있습니다 이미 편집했습니다.

덕분에 많은

답변

1

이 시도 :이이 작동하는 동안 그들은에서 사용 괜찮아요하지만, 브래킷 문자 (이전에 HTML5에 ID를 사용하기 위해 유효하지 않은 것으로

$('#product_description\\[1\\]') 

주 클래스).

+0

+1 그렇지 않으면 속성 존재 선택기입니다. http://www.w3.org/TR/2009/PR-css3-selectors-20091215/#attribute-representation –

+0

예, 유효하거나 아는 것은 없습니다. 태그 값에 []를 사용하는 벙어리 아이디어. 나는 이것을 osCommerce 개발자에게보고했다. – Juan

2

[] 문자는 HTML4에서 유효한 ID 문자가 아닙니다. 다른 브라우저에서 일관된 결과를 기대하지 마십시오.


편집 :

방금 ​​서버 측에서 ID의 형식을 제어 할 수없는 경우, 당신이 할 수있는 :

$("*[id='product_description[1]']") 

를하지만 정말 느린 것 querySelectorAll을 지원하지 않는 브라우저

은 (당신이 때문에 값 주위에 따옴표의 여기 \\을 필요가 없습니다합니다.)

2
$("#product_description\\[1\\]").attr("id", "products_description_1"); 

오른쪽 코드, jQuery.com

에 " ID-Selector」를 봐
+1

+1 내 탈출구에서했던 것처럼 탈출구를 잊지 마세요. –

+0

나는 왜 내가 괄호에서 벗어날 수 있다고 상상조차하지 못했는지 모른다. 나는 심지어 선택 문서의 일부를 읽었지만 그 점을 보지 못했다. 고마워. – Juan

관련 문제