设置克隆字段集输入字段的值

时间:2017-06-07 13:58:26

标签: jquery

这是我问here的问题的后续问题。除了在下面的示例中设置名为 misc_value 的第二个输入字段的值之外,所有内容都按预期工作。

希望第一个输入字段 group1 为空,以便显示占位符并使第二个输入字段包含默认值0.

如果我检查克隆字段集的元素,我确实看到了值=" 0"显示为第二个输入字段但实际上没有显示任何内容,并且在表单提交时不返回该值。

我在示例中的$('input[name="misc_value"]').val("0");行尝试过多种变体,但结果始终相同。



<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Testing Input Value</title>
<script type="text/javascript" src="//code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script type="text/javascript">

function AddGroup1() {

	newFS = $('#fsgroup1').clone(true).removeProp("id");
	newFS.find('a').replaceWith('<a href="#" onclick="deleteID(this);return false;" title="Delete This Entry">Delete</a>');
	newFS.find("input:text").val("").end()
	$('input[name="misc_value"]').val("0");
	$("#moregroup1").append(newFS);

}  // end of the AddGroup1 function

function deleteID(button) {

	var fieldset = $(button).parent();
	$(fieldset).remove();

}  // end of the deleteID function
</script>
</head>
<body>
<h1>Testing Input Value</h1>
<form method="post" action="WeedsTest.html">

<fieldset id="fsgroup1">
<label for="group1">Group 1</label>
<input placeholder="Enter misc description" type="text" name="group1[]" value="" size="255" maxlength="255" />

<label for="misc_value">$ Amount</label>
<input type="text" name="misc_value[]" size="15" maxlength="15" value="0" />
<a href="#" onclick="AddGroup1();return false;" title="Add Additional Entry">Add</a>
</fieldset>

<div id="moregroup1"></div>

</form>
</body>
</html>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

你的问题是:

    {li> varnewFS旁边的AddGroup1()
  1. 您没有使用newFS作为查找misc_value的父元素
  2. 您的HTML中misc_valuegroup1的名称分别为misc_value[]group1[],因此find无法正常使用。
  3. 请参阅下面的工作示例:

    &#13;
    &#13;
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Testing Input Value</title>
    <script type="text/javascript" src="//code.jquery.com/jquery-3.2.1.slim.min.js"></script>
    <script type="text/javascript">
    
    function AddGroup1() {
    
    	var newFS = $('#fsgroup1').clone(true).removeProp("id");
    	newFS.find('a').replaceWith('<a href="#" onclick="deleteID(this);return false;" title="Delete This Entry">Delete</a>');
    	newFS.find("input:text").val("").end()
    	newFS.find('input[name="misc_value"]').val("0");
    	$("#moregroup1").append(newFS);
    
    }  // end of the AddGroup1 function
    
    function deleteID(button) {
    
    	var fieldset = $(button).parent();
    	$(fieldset).remove();
    
    }  // end of the deleteID function
    </script>
    </head>
    <body>
    <h1>Testing Input Value</h1>
    <form method="post" action="WeedsTest.html">
    
    <fieldset id="fsgroup1">
    <label for="group1">Group 1</label>
    <input placeholder="Enter misc description" type="text" name="group1" value="" size="255" maxlength="255" />
    
    <label for="misc_value">$ Amount</label>
    <input type="text" name="misc_value" size="15" maxlength="15" value="0" />
    <a href="#" onclick="AddGroup1();return false;" title="Add Additional Entry">Add</a>
    </fieldset>
    
    <div id="moregroup1"></div>
    
    </form>
    </body>
    </html>
    &#13;
    &#13;
    &#13;