2012-07-26 103 views
0

我有多个选项是这样的:在UL和LI标签上添加隐藏值,如何?

<li> 
<a href="#" title="" class="selected"><span class="to-admin">Administrator</span></a> 
<input id="shareto" type="hidden" value="0-1" name="shareto"> 
</li> 
<li> 
<a href="#" title=""><span class="to-finance">Finance</span></a> 
<input id="shareto" type="hidden" value="1-1" name="shareto"> 
</li> 
<li> 
<a href="#" title=""><span class="to-technician">Technician</span></a> 
<input id="shareto" type="hidden" value="1-0" name="shareto"> 
</li> 
<li> 
<a href="#" title=""><span class="to-lawyer">Legal</span></a> 
<input id="shareto" type="hidden" value="0-0" name="shareto"> 
</li> 

,现在我想“抓”使用这个PHP变量:

$Type = $_POST['shareto']; 

为什么我总是最后一个值,无论什么选择我选择?如何正确地做到这一点?以前感谢。

+0

你究竟想要做什么?而且你只能得到1个值,因为你对所有输入都有相同的名字。 – asprin 2012-07-26 17:49:12

回答

3

请检查该工作拨弄链接http://jsfiddle.net/7GHug/

我想你想是这样的。

<ul> 
<li data-val="0-1"> 
<a href="#" title="" class="selected"><span class="to-admin">Administrator</span></a> 

</li> 
<li data-val="1-1"> 
<a href="#" title=""><span class="to-finance">Finance</span></a> 

</li> 
<li data-val="1-0"> 
<a href="#" title=""><span class="to-technician">Technician</span></a> 
</li> 
<li data-val="0-0"> 
<a href="#" title=""><span class="to-lawyer">Legal</span></a> 
<input id="shareto" type="hidden" value="" name="shareto"> 
</li> 
</ul>​ 

Javascritp

$(document).ready(function($) { 
     $('ul li').on('click', function() { 
      $('input#shareto').val($(this).data('val')); 
     }); 
    }); 

采用单隐藏的输入您可以更新基础上的点击里的值。

+0

感谢小提琴,Vins。我忘了告诉你,这些UL和LI标签在FORM标签下。意味着我在底部有SUBMIT按钮。我必须修改你的Javascript吗?因为我点击提交按钮后,我的PHP仍然是空的值。 – 2012-07-26 18:56:13

+0

好的,正如你在上面的评论中提到的那样。我怎么会知道最初选择哪个李。如果您知道所选的初始li,那么只需将它的值放入输入中,因为我将它保留为空白。我认为这应该做。 – Vins 2012-07-26 19:00:01

+0

您的意思是将以下初始选定值添加到此处:?我尝试将'0-1'作为Administrator的初始值:但无论我选择什么选项,仍然是0-1。当我选择Legal(例如)时不能更改为0-0。 – 2012-07-26 19:08:19

2
Add [] like name="shareto[]" then $Type = implode(',',$_POST['shareto']); 
3

如果更改name=sharetoname=shareto[]然后$_POST['shareto'];将是包含的所有值的数组。

也元素id s应该是唯一的。

+0

感谢您的回答。我只是喜欢你所说的。但是当我把这段代码放在我的PHP中时:print_r($ Type);我得到所有数组内容。如何获得与所选选项关联的数组值?谢谢。 – 2012-07-26 18:10:32

+0

@RobertHanson所以你想要一个特定的值?基于什么标准? – Musa 2012-07-26 18:20:26

+0

基于选定的LI。例如,如果我选择'FINANCE',那么$ Type值将是'1-1' – 2012-07-26 18:26:14