2012-06-07 57 views
0

是的,我一直在嘗試創建這個表格大約3天。我有一切工作,但需要驗證是否填寫輸入時,一切都失去控制。如何創建由mySQL填充的添加/刪除下拉框行?

表單需要有一個由mySQL值填充的下拉框。除此之外,還會有一個文本框用於輸入。該文本框需要通過JavaScript驗證,以檢查輸入是否在文本框中。然後,用於刪除該行的按鈕。

添加按鈕應該高於所有這些,只需添加相同輸入的另一行。

我已經使用innerHTML語句並使用計數器將所有內容傳遞到了PHP數組中,但是它隨着刪除按鈕和驗證變得太複雜了。

我在web應用程序的其他部分使用jQuery,所以這是一個選項。

任何方向或示例代碼將是一個很大的幫助。

謝謝

能得到符合本規則

<script type="text/javascript"> 
$(document).ready(function() { 
if(typeof intId==='undefined') 
{ 
    $(".add").attr("disabled", "true"); 
} 
$("#addButton").click(function() { 
    var intId = $("#prodpart div").length + 1; 
    var fieldWrapper = $("<div class=\"fieldwrapper\" id=\"partfield" + intId +  "\"/>"); 
    var partlabel = $("<label>Part #" + intId + ":</label>&nbsp;"); 
    var part = $("<select name=\"part[" + intId + "]\"><?php echo $option2; ?></select>"); 
    var partqtylabel = $("<label>Part QTY #" + intId + ":&nbsp;</label>&nbsp;"); 
    var partqty = $("<input type=\"text\" class=\"required\" onblur=\"enable()\"  value=\"\" size=\"5\" id=\"partqty" + intId + "\" name=\"partqty[" + intId + "]\" class=\"fieldname\" />"); 
    var parttimelabel = $("<label> Run Time #" + intId + ":</label>&nbsp;"); 
    var parttime = $("<input type=\"text\" size=\"5\" value=\"NOT REQUIRED\" name=\"runparttime[" + intId + "]\" />"); 
    var removeButton = $("<input type=\"button\" class=\"remove\" value=\"Del\" />"); 
    removeButton.click(function() { 
     $(this).parent().remove(); 
    }); 
    fieldWrapper.append(partlabel); 
    fieldWrapper.append(part); 
    fieldWrapper.append(partqtylabel); 
    fieldWrapper.append(partqty); 
    fieldWrapper.append(parttimelabel); 
    fieldWrapper.append(parttime); 
    fieldWrapper.append(removeButton); 
    $("#prodpart").append(fieldWrapper); 
    }); 
}); 
function disable(){ 
$(".add").attr("disabled", "true"); 
$(".required").blur(function(){ 
    if ($(this).val() != initVal && $(this).val() != "") { 
    $(".add").removeAttr("disabled"); 
    } else { 
    $(".add").attr("disabled", "true");   
    } 
}); 
}; 
function enable(){ 
    $(".add").removeAttr("disabled"); 
}; 

這上面寫的行,刪除,並進行驗證的JavaScript工作。

<input type="button" value="Add Prod Part" class="add" onclick="disable()" id="addButton" /> 

我的一個按鈕。在所需框中輸入文本之前,按鈕被禁用。一旦輸入文本,按鈕啓用,您可以添加另一行。這仍然是一個小錯誤,但對我所需要的很好。

回答

0

我建立類似的東西最近,什麼我是以下幾點:

  1. 在所有行,細胞和現場生成,並從MySQL數據庫填充的開始。

  2. 所有輸入類型都在表格行中。

  3. 在左側是訂購號碼。這允許人們對他們的數據進行重新排序。

  4. 然後我有一個交互式的「重新排序」功能,允許行自動移動。

  5. 「刪除」功能位於每一行的右側;刪除一行會將它移到底部,然後刪除最下面一行。

  6. 「添加」功能將添加一個table.insertRow(table.rows.length);表格行並插入相關數據。

最重要的是,我還有一個「行計數」變量,它分別通過增加/刪除按鈕增加/減少。

數據驗證會在所有錶行上變爲for循環(使用「行計數」)。祝你好運 - 這對我來說並不容易,我會發布源代碼,但我不認爲這是你正在尋找的東西(沒有驗證和大量的表數據colums已經預設)。

+0

你是對的,這並不容易。我已經取得了一些進展,但我即將開始驗證JavaScript,看看我是否可以弄明白。儘管感謝您的輸入。我可能會很快把我的桌子放在桌子上 – tluck234