2012-07-27 3 views
3

이 비활성화 된 입력 값을 변경하려고합니다. 아마도 그것이 장애인이라는 사실이 문제 였을 것이므로 수동으로 비활성화 된 속성을 제거했습니다 (스크린 샷에서 더 이상 비활성화되지 않는 이유가 궁금한 경우에 대비해). 아래 이미지 참조 : 콘솔이 제대로 입력을 선택하는 것 같다 반환하지만 입력 값이 입력을 사용하는 경우에도, 빈 남아있는 것과.val()을 사용하여이 입력 값을 변경할 수없는 이유는 무엇입니까?

enter image description here

합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+0

긴 선택기는 무엇입니까? 아마도 다음과 같이하면됩니다 : $ ('.add-btn : first'). next(). find ('input.product') .val (...)' – elclanrs

+0

감사합니다. 선택기를 텍스트로 사용하여 코드를 쉽게 테스트하고 향상시킬 수 있습니다. –

답변

7

.val()의 찾고 생각합니다. 임의의 HTML 속성을 원하는대로 설정할 수 있습니다. 자세한 내용은 여기를 참조하십시오. http://api.jquery.com/attr/

+1

+1 이유는 모르겠지만'val'과'prop'가 모두 실패하는'attr'이 여기에서 작동합니다. 이상합니다. – Muhd

+0

100 % 아니지만 jQuery 선택기가 요소를 반환하는 방식과 관련이 있다고 생각합니다. 둘 이상의 요소가 리턴 될 가능성이있을 때, 나는'.val'이 실패하는 경향이있는 것보다 더 자주 실패하는 경향이 있다는 것을 알게됩니다. – dykeag

+0

작업 예제는'attr'의 링크를 제공하는 데 도움이 될 것입니다. 그래도 고마워!!! –

0

난 당신이 내가에 simmilar 문제를 가지고 있고, jQuery의 ATTR 방법을 사용하여 그들을 arround 찍었을 말할 수 .prop() 대신

+0

테스트 한 결과 차이가 없습니다. '.val()'이 여기서 작동해야합니다. – Muhd

0

페이지의 나머지 부분이 어떻게 보이는지는 확실하지만 네가 테이블을 중첩하는 것을 볼 수 있습니다. 특히 숨겨진 중첩 테이블에서 혼란과 예상치 못한 결과를 초래할 수 있습니다. 사용자가 add-btn을 클릭하면 숨겨진 테이블을 표시 할 예정입니까? 그렇다면 click 이벤트에서 클릭 한 버튼과 관련하여 텍스트 버튼을 찾으십시오.

$(".add-btn").click(function(evt){ 
    var product = getProductNameSomehow(); // Up to you 

    var newContainer = $(this).siblings("table").find(".new-row-html"); 
    newContainer.find("input.product").val(product); 

    evt.preventDefault(); 
    return false; 
}); 

당신은 개선하고 $(...).on("click", ...)로이 예 수신기를 일반화 할 수있다. .a-btn은 아마도 <button type="button">Add</button>, 아마도 styled as a link으로 더 좋을 것입니다. 원하는 경우 클릭 이벤트를 중지하는 것에 대해 걱정할 필요가 없습니다.

관련 문제