Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从列表中动态选择字段并将其添加到表单中_Php_Jquery_Ajax - Fatal编程技术网

Php 从列表中动态选择字段并将其添加到表单中

Php 从列表中动态选择字段并将其添加到表单中,php,jquery,ajax,Php,Jquery,Ajax,在表单中,我需要动态添加一些字段,然后从select中删除这些字段0到n 每个项目在添加后都应该从列表中删除,因此不能选择两次 例如,我有一个如下选择: <select name="list">     <option value="1">A</option>     <option value="2">B</option>     <option value="3">C</option>     <op

在表单中,我需要动态添加一些字段,然后从select中删除这些字段0到n

每个项目在添加后都应该从列表中删除,因此不能选择两次

例如,我有一个如下选择:

 <select name="list">
    <option value="1">A</option>
    <option value="2">B</option>
    <option value="3">C</option>
    <option value="4">D</option>
  </select>
我想在我的表单中添加一个新字段,显示a和D,并存储它们的值,这样我就可以通过帖子获得它们。然后,如果我点击选择按钮,将只有B和C


你能帮我吗?

你想要什么类型的字段?输入类型文本?如果是:

$("[name=list]").on("change", function (e) {
    var val = $(this).val();
    if (val.length > 0) {
        $(this).find("option:selected").remove();
        $("<input>").attr("name", "the-name").val(val).appendTo($("#the-form"))
    }
});

查看小提琴

您想要什么类型的字段?输入类型文本?如果是:

$("[name=list]").on("change", function (e) {
    var val = $(this).val();
    if (val.length > 0) {
        $(this).find("option:selected").remove();
        $("<input>").attr("name", "the-name").val(val).appendTo($("#the-form"))
    }
});

看看小提琴吧我猜你在找这个

$("select[name='list']").on('change',function(){
   var b=$(this).val();
    if(b!=0){
    $("#s1").append("<input type='text' name='newname"+b+"' value='"+$(this).find("option:selected").text()+"'/>");
    $(this).find("option[value='"+b+"']").remove();
    }
});


我猜你在找这个

$("select[name='list']").on('change',function(){
   var b=$(this).val();
    if(b!=0){
    $("#s1").append("<input type='text' name='newname"+b+"' value='"+$(this).find("option:selected").text()+"'/>");
    $(this).find("option[value='"+b+"']").remove();
    }
});



您也可以尝试以下选项:1。2.

您也可以尝试以下选项:1。2.

你试过什么了吗请详细说明。我的理解是,用户将从主列表中选择,当他/她选择时,您希望创建一个新列表,该列表将继续添加所选项目。同时,您希望将它们从主列表中删除。我说的对吗?如果您希望用户能够选择多个值,只需使用复选框即可。四个复选框A、B、C和D将为您提供您想要的功能,甚至不需要JavaScript,也不会引入一些笨拙的UI。使用forloop使用$'body.进行迭代。查找:selected[0]。长度和&$'body'。查找:selected[0]。一些数组变量的值和添加值复选框不适合我的需要。清单可能很长。你试过什么吗请详细说明。我的理解是,用户将从主列表中选择,当他/她选择时,您希望创建一个新列表,该列表将继续添加所选项目。同时,您希望将它们从主列表中删除。我说的对吗?如果您希望用户能够选择多个值,只需使用复选框即可。四个复选框A、B、C和D将为您提供您想要的功能,甚至不需要JavaScript,也不会引入一些笨拙的UI。使用forloop使用$'body.进行迭代。查找:selected[0]。长度和&$'body'。查找:selected[0]。一些数组变量的值和添加值复选框不适合我的需要。列表可能很长。我只需要文本并将值存储在隐藏变量中。我如何删除一个示例?然后再次将其添加到我的选择列表中,并在帖子中检索值?维护一个数组并继续将所选值添加到该数组中。在POST调用中使用此数组的值。使用文本区域显示此数组的值。或者保留隐藏字段和某种删除按钮。更新的fiddel我只需要文本并将值存储在隐藏变量中。我如何删除一个示例?然后再次将其添加到我的选择列表中,并在帖子中检索值?维护一个数组并继续将所选值添加到该数组中。在POST调用中使用此数组的值。使用文本区域显示此数组的值。或者保留隐藏字段和某种删除按钮。更新的fiddel我需要将每个选定选项的值存储在一个隐藏变量中。我如何删除一个示例?然后再次将其添加到我的选择列表中,并检索帖子中的值?@Ame您不想从选择中删除元素吗?然后只需注释此行“$this.findoption[value='+b+']”。remove`。但这将允许重复的值,以避免您可以禁用选项标签一旦选择否,我想恢复一个选项,如果我是错误的。例如,如果我点击一个按钮,然后我意识到我错了,我怎么能回来?我需要一种方法来恢复它:@Ame好的,但是你想如何检查用户输入是否正确?这是他的问题:我只会添加一个删除选项,例如一个X,用于恢复以前的情况。我需要将每个选定选项的值存储在一个隐藏变量中。我如何删除一个示例?然后再次将其添加到我的选择列表中,并检索帖子中的值?@Ame您不想从选择中删除元素吗?然后只需注释此行“$this.findoption[value='+b+']”。remove`。但这将允许重复的值,以避免您可以禁用选项标签一旦选择否,我想恢复一个选项,如果我是错误的。例如,如果我点击一个按钮,然后我意识到我错了,我怎么能回来?我需要一种方法来恢复它:@Ame好的,但是你想如何检查用户输入是否错误?这是他的问题:我只会添加一个删除选项,例如一个X,用于恢复以前的情况。