2012-09-21 47 views
1

這裏是我迄今爲止...如何從動態創建的表單字段獲取值併爲其他表單函數引用它們?

<html> 
<head> 
<title>addForm</title> 
<link href="css/addForm.css" rel="stylesheet" type="text/css"> 
<link href="favicon.ico" rel="icon" type="image/x-icon" /> 
<script type="text/javascript" src="../lib/jquery/jquery-1.8.1.min.js"></script> 
<script type="text/javascript" src="../lib/jquery/jquery.autocomplete.min.js"></script> 
</head> 

<body> 
<div> 
<form id="addForm" name="addForm" method="post" action=""> 
... 
<div id="container"> 
<p id="add_field"> 
<label><a href="#">Add A Class Code</a></label>It may take a moment for your Class Code to appear in the dropdown box. 
</p> 
</div> 
<label>Class Screens E: </label> 
<select name="ClassScreenE" id="ClassScreenE" size="5"></select> 
<br> 
... 
</form> 
</div> 

<script language="javascript" type="text/javascript"> 
$(function(){ 
var count = 0; 

$('p#add_field').on('click', function(){ 
     count += 1; 

$('#container').append(
'<label>ClassCode: </label>' + '<input type="text" class="autocomplete" name="ClassCode[]" id="ClassCode_' + count + '" size="34" maxlength="3">' + ' Payroll: ' + '<input type="text" name="Payroll[]" id="Payroll_' + count + '" size="10" onKeyPress="return numbersonly(this, event)">' + '<br>') 
$(".autocomplete").autocomplete("scripts/findClassCode.php") 
}); 
}) 

**//Edited in the following bit from Femi 
//This seems to work when running 'jQuery("#ClassCode_" + i).val();' in Chrome's Inspector 
//Now I need to get a solid value assigned when looping through so I can dynamically call each value to affect the a select box. 
var val, i = 1, inp = jQuery("#ClassCode_" + i); 
    while(inp.length > 0){ 
// get the value 
val = inp.val(); 
    ++i; 
inp = jQuery("#ClassCode_" + i); 
}** 

</script> 

</body> 
</html> 

所有這一切都完美。當我點擊鏈接時,它會生成下一組字段,同時保留它們的屬性,這樣自動完成的部分就可以工作。我現在需要在表單中使用每個「ClassCode_'+ count +'」的結果來確定在另一個從MySQL中提取數據的選擇框中動態顯示的內容。我的問題是將動態值轉換爲可以使用而無需提交表單的變量。我花了一整天的時間在互聯網上找到這個工作無濟於事。有沒有人有什麼建議?

回答

0

有點迂腐,但:

var val, i = 0, inp = jQuery("#container").find("input").find("#ClassCode_" + i); 
while(inp.length > 0){ 
    // get the value 
    val = inp.val(); 
    ++i; 
    inp = jQuery("#container").find("input").find("#ClassCode_" + i); 
} 

嘗試嗎?

+0

我會繼續前進,並感謝您的迴應,並提前致歉。 Javascript真的不是我的東西。因此,如果我有多個ClassCode_N值,我將如何分別引用每個值而不使用硬編碼值? – Mike

+0

我目前正在查看http://api.jquery.com/val/上的Jquery站點上的.val()頁面,以期更好地理解。我認爲我的問題是,我想盡快加快速度,這讓我感到很沮喪。 – Mike

+0

我在上面的代碼中調用了'val':嘗試打印出來(在Firefox或Chrome上使用'console.log')。 – Femi

相關問題