我创建了一个包含搜索框的html。搜索后,我将获取列表中的数据。但是,当我点击它时,我使用this
var text = $(this).text(); method
在我的应用中,如果我点击一个项目,它应该只给我列表项的值而不是其他。我在某个地方犯了错误,但我不知道在哪里 这是我的代码:
HTML
<ul data-role="listview" class="ui-li-icon">
<li id="list"></li>
</ul>
这是我的JavaScript代码:
function successCallback(responseObj)
{
// alert(JSON.stringify(responseObj));
form.reset();
dataj=JSON.stringify(responseObj);
len=dataj.length;
for(i=0;i<len;i++)
{
var output = "<ul>" + responseObj.merchants[i].imageFileName+ " " + "<font size=3 color=green>" + responseObj.merchants[i].merchantName + "</font>" +"</ul>";
$('#list').append(output);
}
$('#list').click(function() {
var index = $(this).index();
var text = $(this).text();
alert('Index is: ' + index + ' and text is ' + text);
});
}
所以当我在搜索某个项目时。我得到了以下列表:
ab
abc
但是当我点击它时。我得到了ab
和abc
的价值。我只想要点击一个值。
答案 0 :(得分:1)
//通过以下代码替换您的点击事件
$('.ui-li-icon li').click(function() {
var index = $(this).index();
var text = $(this).text();
alert('Index is: ' + index + ' and text is ' + text);
});
答案 1 :(得分:1)
$('#list').append(output);
我信徒名单是你给列表项目的ID,即
如果你解决了这个问题,你的问题应该得到解决!
或者您可以使用此
简单地附加点击事件$('.ui-li-icon li').click //Your click event handler
答案 2 :(得分:0)
很难理解你在问什么。据我所知,你正在寻找这样的东西:
$('#list li').on('click', function(){
alert("index: "+$(this).index() + " value: "+ $(this).text());
});
这是一个小提琴http://jsfiddle.net/Jw8qz/