2009-06-08 95 views
0

我的CMS很舊。如何將id添加到輸入中?

它給出了以下HTML。 我想添加id到每個輸入和id名稱,這是來自前一個td的文本,如navn,e-po,hjem等。 Id可以是4個字母。

我試過這段代碼,但它只給每個輸入提供了id =「----」。

<script type="text/javascript"> 
$(document).ready(function(){ 
$('table tr').each(function(){ 
var formid=$('td:first', this).text().toLowerCase().slice(0,4); 
$('input', this).attr('id', function() { 
return formid});  
}); 
}); 
</script> 

基本上我試圖做的是。對於每個tr。設置一個變量formid到第一個td並獲取文本並用四個字母改爲小寫。 並找到這個輸入並添加這個formid的id。

(UPDATE) 經過兩次回覆,我嘗試了以下方法。

$(document).ready(function() { 
$('table input').each(function() { 
var formid=$(this).parents('td').prev().text().toLowerCase(); 
alert (formid); 
}); 
}); 

這提醒navn :, E-後:, hjemmeside:和SAK :.

到目前爲止這麼好。 但是,當我使用以下,它什麼都沒有警報。我想從每個字符串中取出。

$(document).ready(function() { 
$('table input').each(function() { 
var formid=$(this).parents('td').prev().text().toLowerCase(); 
var inputid=formid.slice(0,5); 
alert (inputid); 
}); 
}); 

任何人都可以幫助我嗎?

在此先感謝。

<TABLE CELLSPACING="0" CELLPADDING="2" BORDER="0"> 
<TR> 
<TD> Navn: </TD> 
<TD><INPUT TYPE="text" CLASS="input-style" NAME="Namn" VALUE="" MAXLENGTH="50"> 
</TD> 
</TR> 
<TR> 
<TD> E-post: </TD> 
<TD><INPUT TYPE="text" CLASS="input-style" NAME="Epost" VALUE="" MAXLENGTH="50"> 
</TD> 
</TR> 
<TR> 
<TD> Hjemmeside: </TD> 
<TD> <INPUT TYPE="text" CLASS="input-style" NAME="Hemsida" VALUE="http://" MAXLENGTH="50"> 
</TD> 
</TR> 

<TR> 
<TD> Sak: </TD> 
<TD><INPUT TYPE="text" CLASS="input-style" NAME="Arende" VALUE="" MAXLENGTH="50"> 
</TD> 
</TR> 

<TR> 
<TD> Telefon: 
</TD> 
<TD><INPUT TYPE="text" CLASS="input-style" NAME="Telefon" VALUE="" MAXLENGTH="50"> 
</TD> 
</TR> 

<TR> 
<TD> 
Tekst: 
</TD> 
<TD> 
<TEXTAREA NAME="Innehall" ROWS="5" COLS="42"></TEXTAREA> 
</TD> 
</TR> 
<TR> 

.... 
.... 
.... 


</TD> 
</TR> 
</TABLE> 

回答

0

我覺得這是更好地從輸入元素開始,並從那裏導航。

這也是一個好主意,設置id之前刪除文本中的所有標點和其他非字母字符:

$(document).ready(function() { 
    $('table input').each(function() { 
     var formid=$(this).parents('td').prev().text().match(/[a-zA-Z]{,4}/); 
     $(this).attr("id",formid); 
    }); 
}); 
+0

感謝你們。 我在這個URL中嘗試了兩個代碼,http://www.designvalg.no/Kontakt.asp。 但是他們在兩個代碼中都給出了id =「」。 我錯過了什麼嗎? 謝謝。 – shin 2009-06-08 13:53:55

0

我重寫功能的位僅在輸入元素進行操作:

$(document).ready(
    function() { 
     $('input').each(
      function() { 
       // *this* refers to the current input-element 
       var labelTd = $(this).parent().prev(), 
        label = $(labelTd).text(), 
        shortLabel = label.slice(0,4); 
       // Set the id-attribute of the input element to the sliced 
       // text content of the label 
       $(this).attr('id', shortLabel);      
     }); 
    } 
); 
相關問題