使用jquery从ul-li获取id
Getting an id from a ul li using jquery
我正在使用一个运行良好的keyup jquery函数填充一个无序列表。然而,一旦返回信息,我想通过点击li:来获得id
这是我的功能:
if( $_REQUEST["assist"] ) {
$search_sql = "SELECT * FROM `inventory` WHERE upper(name) LIKE upper('%".$_REQUEST['assist']."%') and active = '1' OR upper(part_num) LIKE upper('%".$_REQUEST['assist']."%') and active = '1' ORDER BY `part_num` ASC ";
$result = mysql_query($search_sql);
if (mysql_num_rows($result) > 0) {
// output data of each row
while ($row = mysql_fetch_array($result)) {
echo '<li class="assist"><div id="assist"><input type="hidden" class="assist_id" value="'.$row['inv_id'].'">'.$row['part_num'].' | '.$row['name'].'</div></li>';
}
} else {
echo '<h2>There are no parts matching "'.$_REQUEST['assist'].'"</h2>';
}
}
它将结果放入这个html:
<ul id="assist-search-value"></ul>
我的javascript是
$('#assist-search-value li').click(function() {
var option = $(this).find('.assist_id').val();
alert(option);
});
然而,当我点击结果时,我得到的只是列表中的第一个id,而不是我想要的id。
请不要在生产环境中使用它。
1) 您使用的是mysql PHP库,该库已被弃用。请改用mysqli或PDO
2) 您对SQL注入持开放态度。至少,使用mysql_real_eescape_string
3) HTML ID也必须是唯一的
4) 您还需要关闭在PHP中打开的<input>
标记。<input type="hidden" class="assist_id" value="'.$row['inv_id'].'"/>
但是,为了回答您的问题,您可以将li's
的处理程序与类assist
挂钩。当它们被动态添加时,你需要将处理程序添加到绑定到已经存在的元素中
$('#assist-search-value').on('click', 'li.assist', function() {
var productId = $(this).find("input.assist_id").val();
alert(productId);
});
您可以参考以下内容:
使用children()
而不是find()
<ul id="assist-search-value">
<li class="assist"><input type="hidden" class="assist_id" value="1" />test 1</li>
<li class="assist"><input type="hidden" class="assist_id" value="2" />test 2</li>
<li class="assist"><input type="hidden" class="assist_id" value="3" />test 3</li>
<li class="assist"><input type="hidden" class="assist_id" value="4" />test 4</li>
</ul>
然后你的jquery可能看起来像这样:
$(document).ready(function() {
$("ul#assist-search-value").on("click", "li.assist", function() {
alert($(this).children("input.assist_id").val());
});
});
工作演示:http://jsfiddle.net/bqv76xe8/
相关文章:
- Html地图对象-点击地图获取id的一部分
- 通过localStorage中的密钥获取ID
- 如何从值的Angular下拉列表中获取ID
- 如何从对象中获取id
- 使用jQuery来foreach iframe-src,并通过函数获取ID和操作
- 如何在使用node.js时从URL中获取Id
- 通过单击链接(兄弟姐妹?)从无线电输入中获取id
- 如何从Url客户端获取Id
- jQuery无法从下拉列表中获取id
- 可以'无法从列表项中获取id
- 从子输入中获取id值,并在更改时将其推送到Javascript中的数组中
- Javascript:如何从不同的ID中获取ID和name属性
- 如何获取id并在ror中基于该id显示下一个字段
- 这个_Meteor js中的Iron控制器无法访问id.如何获取id
- 使用 jQuery 从 HTML 获取 id,给出意想不到的结果
- 如何在select标记上使用javascript获取id名称
- 如何从包含HTML代码和许多UL标签及其ID的JavaScript变量A中获取
- ID
- 如何在创建保存新模型时获取id
- 对话框,数据选择器获取id
- 如何从以某个单词(regexp)结尾的字符串中获取id