gpt4 book ai didi

jquery - 单击 "edit"链接时显示输入字段而不是文本

转载 作者:行者123 更新时间:2023-12-01 06:13:35 25 4
gpt4 key购买 nike

我目前正在创建一个后端。我需要的是一些 jquery 来插入一些不同的表单字段。例如,我可以使用以下代码:

<div>
<div>
Name
</div>
<div>
Type
</div>
<div>
<a class="edit" href="#">Edit</a>
</div>
</div>

此代码需要进行转换,以便当我单击 a.edit 时,名称和类型文本将插入两个输入字段的值

编辑:

我已经尝试过这段代码 - 但是当我单击“a.ff-save”时它不会发出警报???我的问题是什么?

<script type="text/javascript">
$(document).ready( function() {
var this_form_id = $("input#form_id").val();
$("#formfield-list div.formfield-ff:odd").css('background', '#f6f6f6');


$("a.ff_add").click( function() {
var name_val = $("input#new_field_name").val();
var type_val = $("input#new_field_type").val();
var demand_val = $("input#new_field_demand").val();
$.ajax({
type: "POST",
url: "{pref_folder}/admix/forms/addFormField",
data: ({ form_id: this_form_id, field_name: name_val, field_type: type_val, field_demand: demand_val }),
success: function(text) {

$.ajax({
type: "post",
url: "{pref_folder}/admix/forms/getFormFields",
data: { form_id: this_form_id },
success: function(t) {
$("#formfield-list").empty().append(t);
$("#formfield-list div.formfield-ff:odd").css('background', '#f6f6f6');
},
dataType: "html"
});


$(".add-succes-message").empty().append('<div class="msg">'+text+'</div>');
$(".add-field-row").slideUp(500, function(){
$(".add-field-row").slideDown(500);
}).delay(3500);
$(".add-succes-message").slideDown(500, function(){
$(".add-succes-message").slideUp(500);
}).delay(3500);

},
cache: false,
async: false,
dataType: "html"
});
});

$("a.ff-save").click(function (){
alert("ok");
});

$("a.ff-edit").click(function (){
var fid = $(this).prev().val();

var nameValue = $("#ff-"+fid+" div.ff-name").html().trim();
var typeValue = $("#ff-"+fid+" div.ff-type").html().trim();
var demandValue = $("#ff-"+fid+" div.ff-demand").html().trim();
var typeInt;

if( typeValue == "Tekstfelt, 1 linje" )
{
typeInt = 1;
} else {
typeInt = 0;
}


$("#ff-"+fid+" div.ff-name").html('<input type="text" name="name" class="jq-input" value="'+nameValue+'" />');
$("#ff-"+fid+" div.ff-type").html('<input type="text" name="type" class="jq-input" value="'+typeInt+'" />');
if( demandValue == "Ja")
{
$("#ff-"+fid+" div.ff-demand").html('<input type="checkbox" name="demand" class="jq-input" value="" checked="checked" />');
} else {
$("#ff-"+fid+" div.ff-demand").html('<input type="checkbox" name="demand" class="jq-input" value="" />');
}

$("#ff-"+fid+" .ff-edit, #ff-"+fid+".ff-delete").hide();
$("#ff-"+fid+" div:last").html('<a href="#" class="ff-save">Save</a>');
});

$("a.ff-delete").click();
});
</script>

最佳答案

检查这个 jQuery 插件。它正是您所寻找的。

JEditable

如果您不想使用该插件,请尝试以下代码:

<div>
<div>
<label class="editable">Name</label>
<input class="editable" type="text" name="name" style="display:none"/>
</div>
<div>
<label class="editable">Type</label>
<input class="editable" type="text" name="type" style="display:none"/>
</div>
<div>
<a class="edit" href="#">Edit</a>
</div>
</div>
<script type="text/javascript">
$(function(){
$(".edit").click(function(){
var $this = $(this);
var text = $this.text();
if(text=="Edit"){
$this.text("Cancel");
}
else{
$this.text("Edit");
}
$(".editable").toggle();
});

$("input.editable").change(function(){
$(this).prev().text($(this).text());

});
});
</script>

编辑:

要将单击事件处理程序绑定(bind)到 anchor 元素,请使用 jQuery 的 live 函数。例如:

$("a.ff-save").live("click", function (){         
alert("ok");
});

关于jquery - 单击 "edit"链接时显示输入字段而不是文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5517452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com