Javascript 如何创建由mySQL填充的添加/删除下拉框行?

Javascript 如何创建由mySQL填充的添加/删除下拉框行?,javascript,jquery,html,drop-down-menu,add,Javascript,Jquery,Html,Drop Down Menu,Add,是的,我已经试着创建这个表单三天了。我让一切正常,但当需要验证以查看输入是否已填写时,一切都失去了控制 表单需要有一个由mySQL值填充的下拉框。旁边还有一个文本框用于输入。文本框需要通过javascript验证,以检查文本框中是否有输入。然后,一个用于删除该行的按钮 add按钮应该位于所有这些之上,只需添加另一行相同的输入即可 我使用innerHTML语句并使用计数器将所有内容传递到PHP数组中,但删除按钮和验证太复杂了 我在web应用程序的其他部分使用jQuery,所以这是一个选项 任何方向

是的,我已经试着创建这个表单三天了。我让一切正常,但当需要验证以查看输入是否已填写时,一切都失去了控制

表单需要有一个由mySQL值填充的下拉框。旁边还有一个文本框用于输入。文本框需要通过javascript验证,以检查文本框中是否有输入。然后,一个用于删除该行的按钮

add按钮应该位于所有这些之上,只需添加另一行相同的输入即可

我使用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");
};

$(文档).ready(函数(){
如果(intId的类型=='undefined')
{
$(“.add”).attr(“禁用”、“真实”);
}
$(“#添加按钮”)。单击(函数(){
var intId=$(“#prodpart div”)。长度+1;
var fieldWrapper=$(“”);
var partlabel=$(“Part#“+intId+”:);
变量部分=$(“”);
var partqtylabel=$(“零件数量”#“+intId+”:”);
var partqty=$(“”);
var parttimelabel=$(“运行时#“+intId+”:”);
var parttime=$(“”);
var removeButton=$(“”);
移除按钮。单击(函数(){
$(this.parent().remove();
});
fieldWrapper.append(partlabel);
fieldWrapper.append(部分);
fieldWrapper.append(partqtylabel);
fieldWrapper.append(partqty);
fieldWrapper.append(parttimelabel);
fieldWrapper.append(兼职);
fieldWrapper.append(removeButton);
$(“#prodpart”).append(fieldWrapper);
});
});
函数禁用(){
$(“.add”).attr(“禁用”、“真实”);
$(“.required”).blur(函数(){
if($(this.val()!=initVal&$(this.val()!=“”){
$(“.add”).removeAttr(“禁用”);
}否则{
$(“.add”).attr(“禁用”、“真实”);
}
}); 
};
函数启用(){
$(“.add”).removeAttr(“禁用”);
};
这是上面用于写入行、删除和验证的javascript

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


我的一个钮扣。在所需框中输入文本之前,按钮将被禁用。输入文本后,按钮将启用,您可以添加另一行。这仍然是一个小推车,但工作只是我需要的好

我最近也做了类似的事情,我得到的是:

  • 在开始时,所有的行、单元格和字段都是从mySQL数据库生成和填充的

  • 所有输入类型都位于表行中

  • 左边是订购编号。这允许人们重新排列他们的数据

  • 然后,我有一个交互式的“重新排序”功能,它允许行自动移动

  • “删除”功能位于每行的右侧;删除一行会将其移到底部,然后删除底部的行

  • “add”函数将添加一个带有
    table.insertRow(table.rows.length)的表行并插入相关数据

  • 最重要的是,我还有一个“rowcount”变量,分别由add/delete按钮递增/递减


    然后,数据验证成为所有表行上的
    循环(使用“行计数”)。祝你好运——这对我来说并不容易,我会发布源代码,但我不认为这正是你想要的(没有验证,很多表数据列已经预设)。

    你说得对,这并不容易。我已经取得了一些进展,但我即将开始验证javascript,看看我是否能找到答案。谢谢你的意见。我可能很快就会把我的放在桌子上