2009-06-19 4 views
1

양식 필드를 동적으로 생성합니다. jQuery 및 동적 생성 양식


나는 그것은 부분적으로 작동합니다

<script> 
$().ready(function() { 

    $("input[name=salesPrice1]").blur(function() { 

     var nameID = $("input[name=salesPrice1]").val(); 

     alert(nameID); 

     //var newName = $("input#newName").val(); 

     $.ajax({ 
      type: "POST", 
      url: "cashPrice.cfm", 
      data: "salePrice=" + $("input[name=salesPrice1]").val(), 
      cache: false, 
      success: function(data) { 
       $("#cashPrice1").html(data); 
      } 
     }); 
    }); 
}); 
</script> 

를 사용하는 경우. 이제 FormField의 ID/Name을 동적으로 가져와야합니다. 어떻게해야합니까?

+0

귀하의 질문이 이해가되지 않습니다. 그것을 업데이트하십시오. – roosteronacid

+0

죄송 합니다만, formField의 ID/이름, 동적으로 mena라고 부르는 항목을 모르겠습니다. – glmxndr

+0

어떻게 든 내 서버 측 코드를 게시하지 않았습니다. $ : 나는

CFNinja

답변

3

시도해보십시오.

$("input[name^=salesPrice]").each(function(){ 
    var input = $(this); 
    var name = input.attr('name'); 
    var num = /\d+$/.exec(name)[0]; 

    $(this).blur(function() { 

     var nameID = input.val(); 

     alert(nameID); 

     //var newName = $("input#newName").val(); 

     $.ajax({ 
     type: "POST", 
     url: "cashPrice.cfm", 
     data: "salePrice=" + nameID, 
     cache: false, 
     success: function(data) { 
      $("#cashPrice"+num).html(data); 
     } 
     }); 
    }); 
}); 
+0

거의 나는 변경해야했다 : data : "salePrice ="+ input.val(), – CFNinja

+0

Wups ... Ok, 그 전에 계산 된 nameID를 사용하자. 답변을 수정했습니다. :) – glmxndr

1

귀하의 질문은 모호합니다. 값에 대한

당신이 일치 수있는 요소 :

$("input[id^='hello']") 

가 일치 :하지만



이 업데이트 다소 당신이 원하는의 라인?

$("input").blur(function() 
{ 
    var that = $(this); 

    var id = that.attr("id"); 
    var name = that.attr("name"); 
}); 
함께이입니다

<input type="text" id="helloworld" /> 
<input type="text" id="helloearth" /> 

하지만이 :

<input type="text" id="hiworld" /> 

selector documentation를 참조하십시오.

주의 사항 : 이러한 선택자는 느리며 최후의 수단으로 만 사용합니다. 성능을 향상 시키려면 DOM 노드의 하위 집합에서 쿼리를 수행 할 수 있습니다.

$("complex selector goes here", $("container node in which to query")) 
+0

처럼이 사이트의 코드 형식에 문제가 있습니다. 나는 다음과 같은


나는이 기능은 salesPrice에 적용 할 필요가 있기 때문에 단순히 $ ("입력 ")를 사용할 수 있다고 생각하지 않습니다. – CFNinja

+0

또한, 페이지가로드 될 때 경고 (1)가 표시되지만 다른 것은 표시되지 않습니다. – CFNinja

0

이 또한 작동합니다

<html> 
<script type="text/javascript"> 
    $().ready(function() { 
     alert('loaded'); 
     $('.salesPriceInput').blur(function() 
     {  
      alert($(this).attr("id")); 
      var myID = $(this).attr("id").substr(10,1); 
      alert(myID); 
      $.ajax({ 
       type: "get", 
       url: "cashPrice.cfm", 
       data: "salePrice=" + $('#salesPrice'+myID).val(), 
       cache: false, 
       success: function(data){ 
        $('#cashPrice'+myID).html(data); 
       } 
      }) 
     }); 
    }); 
</script> 


<form> 
    <cfoutput> 
     <cfloop from="1" to="3" index="i"> 
      <input type="text" name="salesPrice#i#" id="salesPrice#i#" class="salesPriceInput" value="" /> 
      <div id="cashPrice#i#"></div> 
      <hr /> 
     </cfloop> 
    </cfoutput> 
</form> 
+0

텍스트 편집기를 무시하고 계속 내

내가 <입력 유형 추가하는 의미 = "텍스트"이름 = "salesPrice # 난 # "ID ="salesPrice # i 서 # "클래스 ="salesPriceInput "값 =" "/>

CFNinja

+0

넌 라인을 생략하고 포맷터 적어도 4 공백 코드 들여해야 코드를 포맷하십시오. substr에주의하십시오. 언젠가는 coldfusion 파일의 이름을 바꿀 수 있으며 자바 스크립트 코드를 업데이트하는 것을 잊어 버릴 수 있습니다. 그러면 머리를 꽤 세게 긁을 것입니다. – glmxndr

+0

정답을 편집하여 서식을 수정했습니다. 올바르게 렌더링하려면 코드 앞에 4 칸을 써야합니다. –