I want to display user information in a listview with data pulled from a DB. Now my target is to make the listview editable so that when a user clicks on any listview, it responds like a "Textbox" and a keyboard appears (for mobile). After editing, the user can press a "save" button to save his/her editable contents to the DB. I am using HTML, jQuery, and CSS with the Adobe PhoneGap API.
Asked
Active
Viewed 1.2k times
3 Answers
5
I have created a fiddle and i think this is what you want :
http://jsbin.com/ijexak/2/edit
In fiddle click over the text to edit and on focusOut of the input element your text will save and input element will hide.
Updated
I checked your comment, you should try this:
Html
<ul>
<li>
<span class="display">erum</span>
<input type="text" class="edit" style="display:none"/>
</li>
<li>
<span class="display">ingress</span>
<input type="text" class="edit" style="display:none"/>
</li>
</ul>
JS
$(".display").click(function(){
$(this).hide().siblings(".edit").show().val($(this).text()).focus();
});
$(".edit").focusout(function(){
$(this).hide().siblings(".display").show().text($(this).val());
});
Hope it helps!

Gaurav
- 8,367
- 14
- 55
- 90
1
- attach a click event on your list item.
- when clicked remove the content of the item and replace it with a form with an input box and button
- redefine the submit event of the form to perform the desired operation on database
- remove the form and insert the modified item back in the list.

Emanuele Paolini
- 9,912
- 3
- 38
- 64
and when i click to edit the- tag so both of list tags are merged inside one textbox but i dnt want this i want to modify one list tag at a time and textbox should contain only one listitem text. Here is the Fiddle http://jsfiddle.net/erum/uenZW/ in this fiddle i want when i click on "erum" only that listitem should be replaced by textbox and user will be able to edit it while there would be no chnges in other listitem