Jquery . 谢谢您认为您可以详细介绍我在编辑文本时如何动态设置?现在它只生成一个输入字段,但我需要从文本的原始输出中获得ID,以便进行后期更新。我在PHP中循环并输出一系列标记,可以在单击的范围中包含ID。有道理? <div class="control-g
. 谢谢您认为您可以详细介绍我在编辑文本时如何动态设置?现在它只生成一个输入字段,但我需要从文本的原始输出中获得ID,以便进行后期更新。我在PHP中循环并输出一系列标记,可以在单击的范围中包含ID。有道理?Jquery . 谢谢您认为您可以详细介绍我在编辑文本时如何动态设置?现在它只生成一个输入字段,但我需要从文本的原始输出中获得ID,以便进行后期更新。我在PHP中循环并输出一系列标记,可以在单击的范围中包含ID。有道理? <div class="control-g,jquery,ruby-on-rails,twitter-bootstrap,Jquery,Ruby On Rails,Twitter Bootstrap,. 谢谢您认为您可以详细介绍我在编辑文本时如何动态设置?现在它只生成一个输入字段,但我需要从文本的原始输出中获得ID,以便进行后期更新。我在PHP中循环并输出一系列标记,可以在单击的范围中包含ID。有道理? <div class="control-group"> <label for="name" class="control-label"><p class="text-info">Saghir<i class="icon-star">&l
<div class="control-group">
<label for="name" class="control-label"><p class="text-info">Saghir<i class="icon-star"></i></p></label>
<div class="controls">
<a href="#">Edit</a>
</div>
<div class="control-group">
<label for="name" class="control-label">
<p class="text-info">Saghir<i class="icon-star"></i></p>
</label>
<input type="text" class="edit-input" />
<div class="controls">
<a class="edit" href="#">Edit</a>
</div>
</div>
$(document).ready(function() {
$('a.edit').click(function () {
var dad = $(this).parent().parent();
dad.find('label').hide();
dad.find('input[type="text"]').show().focus();
});
$('input[type=text]').focusout(function() {
var dad = $(this).parent();
$(this).hide();
dad.find('label').show();
});
});
.edit-input {
display:none;
}
<div class="control-group">
<label for="name" class="control-label"><p class="text-info">Saghir<i class="icon-star"></i></p></label>
<input type="text" class="input-medium" style="display:none;">
<div class="controls">
<a href="#" onclick="edit(this);">Edit</a>
</div>
</div>
function edit(element) {
var parent=$(element).parent().parent();
var placeholder=$(parent).find('.text-info').text();
//hide label
$(parent).find('label').hide();
//show input, set placeholder
var input=$(parent).find('input[type="text"]');
$(input).show();
$(input).attr('placeholder', placeholder);
}
function edit(element) {
var parent = $(element).parent().parent();
var placeholder = $(parent).find('.text-info').text();
//hide label
$(parent).find('label').hide();
//show input, set placeholder
var input = $(parent).find('input[type="text"]');
var edit = $(parent).find('.controls-edit');
var update = $(parent).find('.controls-update');
$(input).show();
$(edit).hide();
$(update).show();
//$(input).attr('placeholder', placeholder);
}
function update(element) {
var parent = $(element).parent().parent();
var placeholder = $(parent).find('.text-info').text();
//hide label
$(parent).find('label').show();
//show input, set placeholder
var input = $(parent).find('input[type="text"]');
var edit = $(parent).find('.controls-edit');
var update = $(parent).find('.controls-update');
$(input).hide();
$(edit).show();
$(update).hide();
//$(input).attr('placeholder', placeholder);
$(parent).find('label').text($(input).val());
}
<span class="edit-on-click">Click to edit</span>
$(document).ready(function() {
$('.edit-on-click').click(function() {
var $text = $(this),
$input = $('<input type="text" />')
$text.hide()
.after($input);
$input.val($text.html()).show().focus()
.keypress(function(e) {
var key = e.which
if (key == 13) // enter key
{
$input.hide();
$text.html($input.val())
.show();
return false;
}
})
.focusout(function() {
$input.hide();
$text.show();
})
});
});
<span onclick="editOnClick(this)"
data-id="123"
data-model="myapp.MyModel"
data-field="my_field">Click to edit</span>
function editOnClick(el) {
var $text = $(el),
$input = $('<input type="text" />');
$text.hide()
.after($input);
$input.val($.trim($text.html())).show()
.tooltip({title:"press ENTER to save<br>click outside to cancel", container:"body", trigger:'focus', html:true})
.focus()
.keypress(function(e) {
var key = e.which;
if (key == 13) // enter key
{
$.ajax({
type: "POST",
data: {
value:$input.val(),
obj_id:$text.attr('data-id'),
obj_model:$text.attr('data-model'),
obj_field:$text.attr('data-field'),
csrfmiddlewaretoken:'{{ csrf_token }}'
},
url: "{% url 'edit_on_click' %}",
cache: false,
dataType: "html",
success: function(html, textStatus) {
$input.hide();
$text.html(html)
.show();
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert('Error: ' + XMLHttpRequest.responseText)
}
});
return false;
}
})
.focusout(function() {
$input.hide();
$text.show();
})
}