2016-09-28 3 views
1

내가 축구 경기에 대한 입력을 나타내는 다음과 같은 구조 말해봐 인덱스를 선택하고 설정 값을 기준으로 후손을 찾을 :jQuery를 :

<form> 
    <div class="match"> 
     <div class="scores"> 
      <input type="text"> 
      <input type="text"> 
     </div> 
    </div> 
    <div class="match"> 
     <div class="scores"> 
      <input type="text"> 
      <input type="text"> 
     </div> 
    </div> 
    <div class="match"> 
     <div class="scores"> 
      <input type="text"> 
      <input type="text"> 
     </div> 
    </div> 
</form> 

을 그리고 무작위로 각 입력을 채우려하지만, 각 쌍은 서로 달라야합니다.

Uncaught TypeError: inputs[0].val is not a function 
:

$('form .match .scores').each(function() { 
    var inputs = $(this).find('input[type=text]'); 

    // generate scores... 
    inputs[0].val(score1); 
    inputs[1].val(score2); 
}); 

내가 콘솔이 다음 오류를보고 첫 번째 입력을 채울하려고 할 때 때문에 내가 놓친 거지 모르는 :

그래서 이것은 내가 할 노력 무엇인가

내가 뭘 잘못하고 있니?

+0

'입력 [0]'DOM 노드 아닌 jQuery를 집합을 리턴한다. 'inputs [0] .value = score1;'또는 inputs.eq (0) .val (score1)'을 사용하십시오. –

답변

1

$(inputs[0]) 같은 JQuery와 선택기에 입력 랩 : 위치에 난을 jQuery 오브젝트를 반환하는 inputs.eq(0)를 사용해보십시오, 당신은 jQuery의 val()

EQ에 대한 자세한 내용은 jQuery를 설명서를 참조하십시오 사용할 수 있습니다 또는 입력 [0]이 dom 요소이기 때문에 input[0].value을 사용할 수 있습니다.

$(function(){ 
 

 
$('form .match .scores').each(function() { 
 
    var inputs = $(this).find('input[type=text]'); 
 
    console.log(inputs); 
 
    
 
    $(inputs[0]).val(score1); 
 
    $(inputs[1]).val(score2); 
 
}); 
 
    
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form> 
 
    <div class="match"> 
 
     <div class="scores"> 
 
      <input type="text"> 
 
      <input type="text"> 
 
     </div> 
 
    </div> 
 
    <div class="match"> 
 
     <div class="scores"> 
 
      <input type="text"> 
 
      <input type="text"> 
 
     </div> 
 
    </div> 
 
    <div class="match"> 
 
     <div class="scores"> 
 
      <input type="text"> 
 
      <input type="text"> 
 
     </div> 
 
    </div> 
 
</form>

0

는 사실은 오늘 매우 비슷한 질문에 대답 : jQuery .each() function accessing other selector via indexes

브래킷을 사용하여 JQuery와 배열 객체를 호출 (같은 inputs[0]) 당신이 HTML 노드 요소를 다시 얻고 아닌 jQuery를 객체입니다. https://api.jquery.com/eq/

Given a jQuery object that represents a set of DOM elements, the .eq() method constructs a new jQuery object from one element within that set. The supplied index identifies the position of this element in the set.