选择选项只影响第一行 - php-jquery-mysql

时间:2016-08-10 14:42:58

标签: javascript php jquery mysql mysqli

嗨!我在数据库中使用mysqli进行连接。enter image description here 我的问题是,每当我选择新选项时,第二行和以下行都不会受到影响。 你能帮我解决一下吗?

$(document).ready(function ()
	{
		$('#dealer').change(function () 
		{
			$("#tt").val($(this).val());
		}); 
	});
	
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<body>
		<table>
		<tr>
			<th>USERNAME</th>
			<th>PASSWORD</th>
			<th>CURRENT USER TYPE</th>
			<th>CHANGE USER TYPE</th>
			<th>UPDATE</th>
			<th>DELETE</th>
		</tr>
		<?php
		while($row= mysqli_fetch_array($records))
		{
			//echo "<tr><form action='super_admin_function_edit.php' method='post'>";
			echo "<tr><form action=super_admin_function_edit.php method=post>";
			echo "<td><input type=text name=emp_username value='".$row['emp_username']."'></td>";
			echo "<td><input type=text name=emp_password value='".$row['emp_password']."'></td>";
			echo "<td><input type=text name=emp_type id=tt value='".$row['emp_type']."'></td>";
			
			//echo "<td><input type='text' id='tt' </td>";
			
			
			echo "	<td><select name='dealer' id='dealer'>
						<option value='0'>---- select Dealer -----</option>
						<option value='1'>---- select Dealer1 -----</option>
						<option value='2'>---- select Dealer2 -----</option>     
					</select>
					</td>";
					
			echo "<input type=hidden name=emp_id value='".$row['emp_id']."'></td>";
			echo "<td><input type=submit></td>";
			echo "<td><input type=submit value=Delete></td>";
			echo "</form></tr>";
		}
		?>

	</body>

2 个答案:

答案 0 :(得分:0)

ID不能在HTML页面上重复。每行上都有id="tt"id="dealer",浏览器只能看到页面上的第一行。原因是浏览器有一个快速查找字典,每个键包含一个DOM元素(每个id)

将其更改为使用tt类和dealer类,并找到与.dealer选择最接近的类(例如,基于tr /行)。

例如。使用:

$(function ()
{
    $('.dealer').change(function () 
    {
        $(this).closest('tr').find(".tt").val($(this).val());
    }); 
});

注释:

  • $(function ()..只是$(document).ready(function()...
  • 的首选快捷方式

答案 1 :(得分:0)

您生成的标记将包含多个具有相同值的 id 属性,这些属性不是有效的HTML。所以这个jQuery代码:

id=tt

只会选择第一次出现的id。要解决此问题,请将class='tt'替换为id='dealer',将class='dealer'替换为$('.dealer').change(function () { $(this).parent().find('.tt').val($(this).val()); });

同样,你的jQuery代码:

<p><a href="${StackOverFlow}" title='<liferay-ui:message key="hello-world" />'>Stack_over_flow</a></p>