我正在使用一个Jquery Sortable列表,它将两个项目相互替换。每个<li>
都有一个唯一的id
和name
,这些值是从php文件中获取的。
HTML示例:
<ul id="sections" class="ui-sortable">
<li id="one" name="one" value="<?php echo $forms[0]; ?>" class="<?php echo $forms[0]; ?>">one</li>
<li id="onea" name="one_a" value="<?php echo $forms[1]; ?>" class="<?php echo $forms[1]; ?>"> two</li>
<li id="oneb" name="one_b" value="<?php echo $forms[2]; ?>" class="<?php echo $forms[2]; ?>">three</li>
<li id="two" name="two" value="<?php echo $forms[3]; ?>" class="<?php echo $forms[3]; ?>"> four </li>
<li id="twoa" name="two_a" value="<?php echo $forms[4]; ?>" class="<?php echo $forms[4]; ?>">five</li>
<li id="twob" name="two_b" value="<?php echo $forms[5]; ?>" class="<?php echo $forms[5]; ?>"> six </li>
</ul>
include()php文件(示例):
<?php
$forms = array('fish','bird','tiger','dog','cat','elephant');
?>
现在使用$( "#sections" ).sortable({...
方法,我可以将<li>six</li>
替换为<li>two</li>
。在这种情况下,这意味着将bird
换成elephant
。
问题是当我在<form>
应用程序中使用它时,POST
将example.php
文件用于$_POST
文件,$_POST['one-a'];
变量将发布其原始订单。
因此,在这种情况下,bird
仍然会返回elephant
而不是id
。我在浏览器上使用了inspect元素,发现name
和#onea
随着交换而移动。因此#twob
和id
移动了。
我想要做的是保持name
和value
订单到位,并且在进行交换时只更改elephant
。
因此,在此方案中,id
将针对onea
的{{1}}和name
的{{1}}发布。
这可能吗?
感谢您的帮助。
答案 0 :(得分:0)
我能够利用解决方法来获取当前value
。使用Jquery和$.ajax()
我在各种data
语句后发布了if/else
。
所以基本上就是这样的事情;
JS:
var firstone = $('#sections #one');
var firstoneextra = firstone.hasClass("ui-selected");
if (firstoneextra){
var newone = //take the new selected value.
}else{
var newone = //keep the value it has already.
}...
以及通过$.ajax()
调用处理数据的时间;
(样品):
data: 'one=' + newone ...
如果选择了新值,则会POST
,或者POST
已经开始使用的值。