2

我想将可放置位置保存到数据库中。在每个可放置的 div 中添加了一个文本输入字段,其中 div 名称带有“i_”前缀。

如果我在代码中放置一个警报以显示放置的对象,则 id 在警报框中是正确的,并出现在文本输入字段中。但是当我点击 OK 时,它就消失了。

<div style="float:left; border-style:solid;">
<div class="draggable" class="ui-widget-content" id="1059" style="left:0px; top:0px;"    >john doe</div>
<div class="draggable" class="ui-widget-content" id="1113" style="left:0px; top:0px;"    >jane doe</div>

<div   style="float:left;  vertical-align:top"  class="droppable ui-widget-header" id="1-2">
<input type='text' id='i_1-2'  name='i_1-2' value=''><p>1-2</p></div>

<div style="clear:both";></div> <div style="float:left; vertical-align:top" class="droppable ui-widget-header" id="2-1">
<input type='text' id='i_2-1'  name='i_2-1' value=''>
<p>2-1</p></div>

如果调用的函数是 this,则文本框变为黄色,但未设置值

drop: function(event, ui )
                 {
            var f=ui.draggable.attr("id");alert(f);
            var s = 'i_'+$(this).attr("id");//alert(s);

              $('#'+s).css({'background-color' : 'yellow'});
              $('#'+s).val(f);

                }

我究竟做错了什么 ?

    $( ".droppable" ).droppable
        ({
        activeClass: "ui-state-hover",hoverClass: "ui-state-active",
        drop: function( event, ui )
             {
        var f=ui.draggable.attr("id");//alert(f);
        var s = 'i_'+$(this).attr("id");
document.getElementById(s).value=f;//alert(document.getElementById(s).value);

            }

} );
4

0 回答 0