2012-05-14 2 views
7

jquery에 내 초보자 지식을 무시하십시오. 나는 최근에 배우기 시작했고 나 앞에서 도전을했습니다. 체크 박스 이름이 checkbox_0, checkbox_1 인 체크 박스를 사용하고 문자열에서 "checkbox_"를 제거하여 루프 내에서 0, 1을 사용하여 해당 인덱스의 데이터를 추출합니다. 감사합니다문자열 jquery에서 문자열을 제거

aData 값은 나에게 값이 checkbox_0, checkbox_1 등을 알려주는 등 선택되어있는 확인란입니다.

submitButton.on("click", function() { 
      $("Table :checked").each(function(e) { 
       var iData =Table.fnGetData(this.parentNode); 
       // Strip of the checkbox_ from the string 
       for(var i=0; i<=iData.length; i++) { 
        aData = iData[i][7]; 
       } 
       alert(aData); 
       Table.fnDraw();    

      }); 
     }); 

답변

31

이것은 jQuery가 아닌 JavaScript입니다. 당신은 항상 n가 숫자 인 형태 "checkbox_n"에있을거야 알고 있다면,

var updatedString = originalString.substring(9); 

var updatedString = originalString.replace("checkbox_", ""); 

을 또는 :

는 작업 "checkbox_"의를 선두를 제거하십시오. .. 문자열에서 첫 9 문자를 잘라.

두 경우 모두 문자열로 끝납니다. 당신이 번호를 원하는 경우, 당신은 parseInt를 사용할 수 있습니다

var updatedString = parseInt(originalString.replace("checkbox_", ""), 10); 
// or 
var updatedString = parseInt(originalString.substring(9), 10); 

을 ... 아니면 그냥 자동 캐스트를 유발하는 그것의 앞에 +을 넣어 (하지만이 경우 점에 유의 모두 진수와 진수 문자열이 될 것입니다) 처리 :. 예를 들어, "originalString = originalString.blah (...) 나는 updatedString = originalString.blah(...);를 작성했지만, 물론 당신이 당신의 참조를 대체 할 수


var updatedString = +originalString.replace("checkbox_", ""); 
// or 
var updatedString = +originalString.substring(9); 
,`

이 탐험 :

cbName=cbName.replace("checkbox_", ""); 

.each() 루프 내부의 모든 확인란에 대해이 작업을 수행하려면 :

+0

할 수도 수행 originalString = originalString.replace ('checkbox_', ''); – jbduzan

+0

쉽고 빠른 verymuch 감사합니다. 그래도 다른 질문이 있는데, 내가 선택한 모든 체크 박스를 모아서 각각의 아약스 호출 대신 모든 값을 보낼 수 있습니까? 내가 선택한 각 행에 대한 단일 아약스 호출을 수행 Table.fnDraw() 있습니다. – user525146

1

checkbox_ 부분을 제거하려면, 당신은 이렇게 간단하게 할 수

var cbIndex=this.name.replace("checkbox_", ""); 
//or... 
var cbIndex=this.name.split("checkbox_").join(""); 
1

그것을 할 수있는 많은 방법, 그들 중 일부가 있습니다

$("table :checked").each(function() { 
    var theNumber = this.name.replace(/\D/g, ""); 
    var theNumber = this.name.replace(/[^\d]/g, ""); // or this 
    var theNumber = this.name.match(/\d/g).join(); // or this 
3
submitButton.on("click", function() { 
      $("Table :checked").each(function(e) { 
       var iData =Table.fnGetData(this.parentNode); 
       // Strip of the checkbox_ from the string 
       for(var i=0; i<=iData.length; i++) { 
        aData = iData[i].replace("checkbox_", ""); 
       } 
       alert(aData); 
       Table.fnDraw();    

      }); 
     });