Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.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
Javascript 使用下拉菜单(来自mysql DB)创建动态行,该下拉菜单通过Ajax Jquery填充行内的文本框_Javascript_Php_Jquery_Mysql_Ajax - Fatal编程技术网

Javascript 使用下拉菜单(来自mysql DB)创建动态行,该下拉菜单通过Ajax Jquery填充行内的文本框

Javascript 使用下拉菜单(来自mysql DB)创建动态行,该下拉菜单通过Ajax Jquery填充行内的文本框,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,<label for="PartNumber"><font style="font-size:11px;"><b>Desc: </b></label><span id="sel_user"><input type="text" class="small" name="PartNumber[]" size="20"></span> <label for="AmountOrdered">

    <label for="PartNumber"><font style="font-size:11px;"><b>Desc: </b></label><span id="sel_user"><input type="text" class="small" name="PartNumber[]" size="20"></span>
    <label for="AmountOrdered"><font style="font-size:11px;"><b>Qty: </b></label><input type="text" required="required" class="small"  name="AmountOrdered[]" size="5">
    <label for="build"><font style="font-size:11px;"><b>Build#: </b></label><input type="text" required="required" class="small"  name="build[]" size="10">
    <label for="unit_cost"><font style="font-size:11px;"><b>Unit$: </b></label><input type="text" class="small"  name="unit_cost[]" size="10">
    <label for="total_cost"><font style="font-size:11px;"><b>Total$: </b></label><input type="text" class="small"  name="total_cost[]" size="10">
    <label><font style="font-size:11px;"><b>Date: </b></label><input type="text" class="emp_from" name="ExpectedDate[]" size="10">

    </td>
    </tr>
    </table>
    </span>

    </div>
</div>

<div id="items">
</div>
在上图中,我正在创建动态行(工作正常)。但是,我随后介绍了根据“Desc:”左侧下拉列表中选择的内容填充“Desc:”文本框的功能。这对于第一行很好,但对于之后的任何其他行都不行。 下面是我添加和删除行的javascript代码(运行良好):

    <label for="PartNumber"><font style="font-size:11px;"><b>Desc: </b></label><span id="sel_user"><input type="text" class="small" name="PartNumber[]" size="20"></span>
    <label for="AmountOrdered"><font style="font-size:11px;"><b>Qty: </b></label><input type="text" required="required" class="small"  name="AmountOrdered[]" size="5">
    <label for="build"><font style="font-size:11px;"><b>Build#: </b></label><input type="text" required="required" class="small"  name="build[]" size="10">
    <label for="unit_cost"><font style="font-size:11px;"><b>Unit$: </b></label><input type="text" class="small"  name="unit_cost[]" size="10">
    <label for="total_cost"><font style="font-size:11px;"><b>Total$: </b></label><input type="text" class="small"  name="total_cost[]" size="10">
    <label><font style="font-size:11px;"><b>Date: </b></label><input type="text" class="emp_from" name="ExpectedDate[]" size="10">

    </td>
    </tr>
    </table>
    </span>

    </div>
</div>

<div id="items">
</div>

我怀疑每个文本输入都没有唯一的ID,或者如果有,那么除了第一行之外,没有为任何其他行设置JS处理程序。每个表单元素都应该有一个唯一的ID,或者是数组的一部分。每个字段还必须具有唯一的名称,或者是数组的一部分,以便发布(ajax或其他)。在添加自动填充下拉列表之前,我能够动态添加几行(下拉列表过去是我要填写的文本框),并且能够将每个文本框中的所有数据传递到另一个页面,该页面将把所有行插入数据库表中。那么,当这种情况发生时,它不是已经在做你所描述的所有这些领域的事情了吗?我认为将文本框更改为下拉框仍然可以让表单以相同的方式处理。添加输入元素和访问它是完全不同的。此外,在添加元素后,如果需要事件处理程序,则必须在将元素添加到DOM后分配它。如果添加元素时未为其分配唯一ID,则该元素将没有唯一ID。对于任何事件处理程序都一样。
$sql = "SELECT DISTINCT ProductName, id FROM table_name GROUP BY ProductName ORDER BY ProductName ASC";
$sql_result = mysql_query($sql,$connection);

while ($row = mysql_fetch_array($sql_result))
{
$id = $row['id']; 
$ProductName = $row['ProductName'];    
echo"<option value=\"$id\">$ProductName</option>";   
}
mysql_close($connection);
    <label for="PartNumber"><font style="font-size:11px;"><b>Desc: </b></label><span id="sel_user"><input type="text" class="small" name="PartNumber[]" size="20"></span>
    <label for="AmountOrdered"><font style="font-size:11px;"><b>Qty: </b></label><input type="text" required="required" class="small"  name="AmountOrdered[]" size="5">
    <label for="build"><font style="font-size:11px;"><b>Build#: </b></label><input type="text" required="required" class="small"  name="build[]" size="10">
    <label for="unit_cost"><font style="font-size:11px;"><b>Unit$: </b></label><input type="text" class="small"  name="unit_cost[]" size="10">
    <label for="total_cost"><font style="font-size:11px;"><b>Total$: </b></label><input type="text" class="small"  name="total_cost[]" size="10">
    <label><font style="font-size:11px;"><b>Date: </b></label><input type="text" class="emp_from" name="ExpectedDate[]" size="10">

    </td>
    </tr>
    </table>
    </span>

    </div>
</div>

<div id="items">
</div>
$host = "localhost"; /* Host name */
$user = "username"; /* User */
$password = "password"; /* Password */
$dbname = "db_name"; /* Database name */

$con = mysqli_connect($host, $user, $password,$dbname);
// Check connection
if (!$con) {
 die("Connection failed: " . mysqli_connect_error());
}

$departid = $_POST['depart']; 

$sql = "SELECT id, PartNumber FROM table_name WHERE id = ".$departid;

$result = mysqli_query($con,$sql);

$users_arr = array();

while( $row = mysqli_fetch_array($result) ) {

    $PartNumber = $row['PartNumber'];
    $userid = $row['id'];

    $users_arr[] = array("PartNumber" => $PartNumber);
}

// encoding array to json format
echo json_encode($users_arr);