Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否使用动态id为jQuery中的隐藏字段赋值?_Java_Javascript_Jquery_Web - Fatal编程技术网

Java 是否使用动态id为jQuery中的隐藏字段赋值?

Java 是否使用动态id为jQuery中的隐藏字段赋值?,java,javascript,jquery,web,Java,Javascript,Jquery,Web,好的,我买了这张桌子。此表是通过后端的循环动态生成的。像这样: <%int iterator = 0; for(Iterator it = pd.getEntries().iterator();it.hasNext();){ EntryData entry = (EntryData)it.next(); %> <tr> <td><div id="oldvalue1_<%=iterator%>" class="editabl

好的,我买了这张桌子。此表是通过后端的循环动态生成的。像这样:

<%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_uu1;+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
       }
    }
   });
});
这里也是我将值传递到其隐藏字段的问题。我用alert函数检查了一下,我得到了var的值,这只是我缺少的最后一点。 我会感激所有的帮助,我真的需要它。而且,请记住,我在jQuery中是一个完全的n00b,所以像您应该使用[insert function name]这样的答案不会有多大帮助


非常感谢 难道你的最后一行就不见了吗

$("#newValue2_"+lastDigit).val(changedtext);
而不是

$("newValue2_"+lastDigit).val(changedtext);// here wont work

你真的很接近这个

onChange="$("#newValue1_"+smallId).value($(this).val());">
您需要记住的是,对onchange持有者使用一组引号,对其中的任何内容使用另一组引号。所以

<select name="dothis" onChange="$('#newValue1_'+smallId+'').val($(this).val());">
应该有用。我拉了把小提琴只是为了确定一下

编辑:我看到您看到的有关生成行的内容。我在这里更新了fiddle:去掉了创建select的变量中的双引号,并用xml表示替换它们

似乎有效。你试试看

编辑我的编辑:另外,对于任何需要帮助但不想看小提琴的人,这里是定义select的行

var select = "<select name=&quot;dothis&quot; onChange=&quot;$('#newValue1_'+smallId+'').val($(this).val());&quot;><option value='one'>1</option><option value='two'>2</option><option value='three'>3</option></select>";

那只是我角色的一个输入错误,但不是:恐怕没那么简单。不管怎样,Cool,让我们再看一看:这是个好的开始。我遇到的问题是select是通过字符串生成的:var select=;因此,外部的“危险”正在制造麻烦。你知道如何解决这个问题吗?添加的编辑有望达到你的目的。我知道Tanx有多慌乱,我会试试这个。看起来很有希望: