테이블 셀은 INPUT 요소, SELECT 요소 또는 다른 요소를 포함 할 수 있습니다. 코드를 적절하게 라우트하려면 요소에서 값과 클래스 속성을 가져와야합니다.jQuery는 테이블 셀 내에서 알 수없는 요소의 값을 얻습니다.
테이블 셀 내에는 하나의 요소 만있을 수 있지만 요소 유형은 변경 될 수 있습니다.
문제점 : test1 및 test2가 원하는 값 (표 셀의 요소에 대한 클래스 이름 및 값)을 반환하지 않습니다.
HTML :
<table id="tbl">
<tr>
<td class="pid">12345</td>
<td class="tbl_vendor"><input class="vi" value="Ikea" /></td>
<td>Stove</td>
<td><input class="qty_in" value="1" /></td>
<td class="del">del</td>
</tr>
<tr>
<td class="pid">38674</td>
<td class="tbl_vendor">
<select class="vendSEL">
<option value="1">C.P.O.</option>
<option value="2">Knightin</option>
<option value="3">CanDine</option>
</select>
</td>
<td id="selTD"></td>
<td><input class="qty_in" value="1" /></td>
<td class="del">del</td>
</tr>
</table>
jQuery를/자바 스크립트 :
var $this, qty, thisRowNdx, thisTR, vendorTD;
$(document).on('keyup', '.qty_in', function() {
$this = $(this);
qty = this.value;
thisTR = $this.closest('tr')[0];
vendorTD = $this.closest('tr').find('.tbl_vendor');
var currVendorTagname = vendorTD.children()[0].tagName;
var test1 = vendorTD.children()[0].getAttribute['class'];
var test2 = vendorTD.children()[0].nodeValue;
alert('currVendorTagname: ' + currVendorTagname);
alert('test1: ' + test1);
alert('test2: ' + test2);
});
jQuery/DOM은 무엇을 의미합니까? 작동하지 않는 것은 무엇입니까? 수량을 업데이트하면 무엇을 찾고 싶습니까? 귀하의 솔루션이 효과가있을 수 있지만 지나치게 복잡해 보입니다. –
메모 주셔서 감사합니다. 기본 js 요소 대 jQuery 객체에서 얻을 수있는 데이터에 대해 혼란 스러웠습니다. 당신이 말할 수 있듯이, 나는 js보다 jQ에 훨씬 더 편하고 어떤 지식 격차를 메우려하고있다. 내가 지금 알아 낸 것 같아. – crashwap
관계없이 질문을 명확히해야합니다. 당신의 코드는 무엇을 의미합니까? 무엇에 대한 응답으로? 실패한 부분, 실패한 부분, 실패한 부분은 무엇인가? 중요한 것은 미래에이 질문을 다른 사람들에게 유용하게 만드는 것입니다. 그것이 당신에게만 도움이되고 다른 사람들이 이해할 수없는 것이라면, 당신이 무엇을 요구하고 있는지 분명하지 않을 것입니다. 수정하고 수정하여 개선하십시오. 그런 식으로 당신은 다른 사람들을 도울 수있는 기회가 있습니다. –