jQuery 변경 입력 텍스트 값


155

다음에 적합한 셀렉터를 찾을 수 없습니다.

<input maxlength="6" size="6" id="colorpickerField1" name="sitebg" value="#EEEEEE" type="text">

값을 = 000000으로 변경하고 싶습니다. 텍스트 입력의 ID가 아닌 "이름"을 찾으려면 선택기가 필요합니다.

이 작동하지 않아야합니까? :

$("text.sitebg").val("000000");

제시된 솔루션이 작동하지 않습니다.이 문제는 무엇입니까?

$.getJSON("http://www.mysitehere.org/wp-content/themes/ctr-theme/update_genform.php",function(data) {
    $("#form1").append(data.sitebg);
    $('input.sitebg').val('000000');
});

JSON 데이터가 올바르게 작동합니다. 아이디어는 나중에 JSON 값을 양식 입력 텍스트 값으로 전달하는 것입니다. 그러나 작동하지 않습니다 :(

답변:


307

아니요, 다음과 같은 작업을 수행해야합니다.

$('input.sitebg').val('000000');

하지만 가능하면 고유 ID를 사용해야합니다.

다음과 같이 더 구체적으로 얻을 수 있습니다.

$('input[type=text].sitebg').val('000000');

편집하다:

name 속성을 기반으로 입력을 찾으려면 다음을 수행하십시오.

$('input[name=sitebg]').val('000000');

이 천막을 수락 할 것입니다. 선택자에 대해 실제로 배울 수있는 jquery에 대한 좋은 책 / 튜토리얼 (바람직하게는 책)을 추천 할 수 있습니까? 특히 양식 선택기?
Joricam

7
이것은 인터넷에서 가장 먼 곳입니다 : futurecolors.ru/jquery
Jason

@Jason 링크가 끊어졌습니다. 책 제목은 무엇입니까?
oyalhi

@oyalhi 아! 죄송 해요. 그 의견은 5 살이 되었기 때문에 그들이 그것을 거절했다고 생각합니다. (
Jason

@Jason 네, 불행히도. 그러나 책 제목을 기억하십니까?
oyalhi

31

텍스트 입력 필드에서 값을 변경하는 jQuery 방법은 다음과 같습니다.

$('#colorpickerField1').attr('value', '#000000')

이 특성을 바꿀 valueID와 DOM의 요소 #colorpickerField1에서 #EEEEEE#000000


26

모범 사례는 식별을 직접 사용하는 것입니다.

$('#id').val('xxx');


간단하고 가장 좋은 하나 :)
MRRaja

2
왜 이것이 효과가 있지만 document.getElementById("#id").value = 'xxx';나에게는 효과가 없습니까? 표시되는 텍스트 값은 변경하지 않으며 DOM 요소의 value 속성 만 변경합니다.
user3494047

1
이미 ById 메서드를 사용하고 있습니다. #은 CSS 표기법입니다. 제거하십시오.
Scott Chu

9

요소의 새 값을 설정하면 호출 트리거 변경이 필요합니다.

$('element').val(newValue).trigger('change');


이로 인해 change 이벤트 핸들러가 두 번 호출되는 문제가 해결되었습니다. 새로운 값이 다음과 다시 한번 [ATTR = 브로]
베드로 Lenjo

3

Jason의 답변에 추가하면 .선택기는 수업 전용입니다. 요소, id 또는 클래스 이외의 것을 선택하려면 대괄호로 묶어야합니다.

예 :

$('element[attr=val]')

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.