2014-03-31 70 views
0
<tr> 
<td class="value" style="width:40%;"> 
<label class="label">Gender value</label> 
</td> 
<td class="value" style="width:40%;"> 
<input id="checkbox" type="checkbox" tabindex="0" name="chkCustom"> 
<label>M</label> 
<input id="checkbox" type="checkbox" tabindex="0" name="chkCustom"> 
<label>F</label> 
<input id="checkbox" type="checkbox" tabindex="0" name="chkCustom"> 
<label>U</label> 
</td> 
</tr> 

我有上述HTML,我正在從我的網頁動態讀取所有控件。在上面我想讀標籤值其指定的類型和類型的基礎上讀取的下一個值:如何使用jquery查找下一個td元素類型

請看看我的代碼:

 // Read labels text 
     $("#tblCustomFields tr .label").each(function() { 
      var value = this.innerHTML; 
      console.log(this); 
      var type = $(this).closest('td').next().find('input').val(); 
      alert(value); 
      alert(type); 
    //If next element type is *checkbox* then read checkbox values 
     if(type == "checkbox") 
     { 

    // Read checkbox values 

    $('tblCustomFields tr input:checked').each(function (s) { 
     var inputCheckBox = new Array(); 
     inputCheckBox.push([this.id, 0]); 
    }); 

    for (var i = 0; i < inputCheckBox.length; i++) { 
     alert(inputCheckBox[i]); 
    } 
    } 
    }); 

將上面的代碼給我所有的複選框在網頁上,但我希望複選框只在上面的HTML中定義,並且我還想讀取僅複選框的值。請幫忙。

目標:我的動態HTML綁定到頁面的類型可能是複選框下拉文本。現在我想讀取頁面標籤和與該標籤相關的值。對於離我的標籤(性別值)具有類型複選框的價值,所以我只是想閱讀有關該標籤的選中的複選框值。

UPDATE:至少告訴我,我怎樣才能得到

我使用下面的代碼的下一個元素類型:

var type = $(this).closest('td').next().find('type').val(); 

任何幫助

+0

創建的jsfiddle。 –

+1

當您閱讀複選框值時,添加#到tblCustomFields – Intuitisoft

+0

目標是簡單讀取所有選中的複選框的值?我認爲你可能會過度複雜的事情。 –

回答

0

我認爲,所有的標記都必須進行審查,但無論如何,我想我知道(請注意,如果不這樣做)你想要什麼。

試試這個:

// Read labels text 
     $("#tblCustomFields tr .label").each(function() { 
      var value = this.innerHTML; 
      console.log(this); 
      alert(value); 
      var inputCheckBox = new Array(); 
      $(this).first().closest("td").next().find("input[type='checkbox']:checked").each(function(){ 
       inputCheckBox.push($(this).next("label").text()); 
      }); 

    for (var i = 0; i < inputCheckBox.length; i++) { 
     alert(inputCheckBox[i]); 
    } 
    }); 

我會讓你成爲一個jsFiddle對其進行測試。

+0

謝謝,你能告訴我怎樣才能讀取類型「text」和「ddl」的值輸入 – user3124690

+1

我會更新jsFiddle以使用輸入文本並進行選擇。如果您在複選框中使用「value」屬性,該腳本可能非常方便,您不必處理每種類型。 [的jsfiddle](HTTP://的jsfiddle。net/frikinside/WCf8P/2 /) – frikinside

+0

JSFiddle僅顯示覆選框的代碼 – user3124690

0

你的問題是混亂的。

$(「#tblCustomFields tr。標籤」) - 這將查找TR的孩子,其標籤。您的HTML,顯示此內存在td。如果所有的標籤元素有類標籤,可以通過參考每個 -

$(".label).each(function(){ 
//do whatever you want 
}); 

爲了讓旁邊的標籤與標籤類元素類型 -

$(".label).each(function(){ 
var NextTd = $(this).parent().next(); // refers to the next td 
    $(NextTd).each(function(){ 
    var type = $(this).find('input').prop('tagName'); 
//do whatever you want 
}); 
}); 
相關問題