好的,所以我得到了这张桌子。该表是通过后端循环动态生成的。像这样:
<%int iterator = 0;
for(Iterator it = pd.getEntries().iterator();it.hasNext();){
EntryData entry = (EntryData)it.next();
%>
<tr>
<td><div id="oldvalue1_<%=iterator%>" class="editable_select"><%=entry.getIdentifiertype()%></div></td>
<td><input type="hidden" id="newValue1_<%=iterator%>" value=""></td>
<td></td>
<td><div id="oldvalue2_<%=iterator%>" class="editable"" ><%=entry.getIdentifier()%></div>
<input type="hidden" id="newValue2_<%=iterator%>" value=""></td>
<td></td>
</tr>
<% iterator++;} %>
我想在这张桌子上完成的是“就地编辑”,有点......我在 jQuery 中得到了这个函数,它将 oldvalue1_* 变成一个选择框,如下所示:
$(window).load(function(){
var clickFunction = function(){
var id = $(this).attr("id");
var smallId = id.substr(10);//yeah, this is a temporary hack...
var select = '<select name="select" id="select" onChange="THIS IS WHAT I NEED">';
var options = ["ITEMNUMBER", "GROUP", "ALLITEMS"];
for(var i = 0; i < options.length;i++)
select += '<option value="'+options[i]+'">'+options[i]+'</option>';
select += '</select>';
$(this).html(select);
$(this).unbind('click',clickFunction);
}
$("div.editable_select").bind('click',clickFunction);
});
我希望得到帮助的是使用 onChange 将新的 selectet 值传递给隐藏的。我在这里得到了正确的心态,我认为: onChange="$("#newValue1_"+smallId).value($(this).val());"> 但是 "s 和 's 的数量让我很生气,它只是不会工作。那么,我该怎么办?
我也为另一个表格元素得到了这个:
$(document).ready(function(){
$("div.editable").click(function(){
var newInput = "<input type ='text' class='newInput' value=\""+$(this).text()+"\">";
$(this).html(newInput);
var id = $(this).attr("id");
$("input.newInput").focus();
$("input.newInput").keydown(function(event){
if(event.which == 13){
var lastDigit = id.substr(10);//Yeah...
var valNumber = id.substr(8);//These are ugly, im working on it so don't hate on me :P
var value = $(this).val();
$(this).parent().text(value);
if(valNumber == 2){
var changedtext = $("#editable2_"+lastdigit).val();//This right
$("newValue2_"+lastDigit).val(changedtext);// here wont work
}
}
});
});
这也是我将值传递给隐藏字段的问题。我检查了警报功能,我得到了 var 的值,这只是我遗漏的最后一点。我将感谢所有帮助,我在这里真的需要它。而且,请记住,我在 jQuery 中完全是 n00b,所以像“你应该使用 .[insert function name]”这样的答案不会有太大帮助。
非常感谢!<3(我不知道如何在代码中获得时髦的颜色,对不起)