php用类POST一些元素

时间:2014-03-09 03:35:27

标签: javascript php jquery html

我会有这样的HTML:

<form class="form-horizontal" role="form">
    <div class="form-group">
        <ul class="select_list">
            <li id="s1" class="chosen">Apple</li>
            <li id="s2" style="display: none;">Peach</li>
            <li id="s3" style="display: none;">Plum</li>
            <li id="s4" class="chosen">Banana</li>
            <li id="s5" style="display: none;">Grapes</li>
            <li id="s6" class="chosen">Pear</li>
            <li id="s7" style="display: none;">Kiwi</li>
        </ul>
    </div>
    <button type="submit" class="btn btn-primary">Submit</button>
</form>

如何使用$ _POST来获取class =“selected”

的元素的id

3 个答案:

答案 0 :(得分:1)

没有“直接”的方法来做到这一点。表示来自inputtextareabutton元素的POST数据,可能还有一些我忘了。您必须使用JavaScript将li元素“转录”为其中之一,可能是<input type="hidden">。例如:

var form = $formselector
form.onsubmit = function() {
    var chosen = form.getElementsByClassName("chosen");
    for (var i=0; i<chosen.length; i++) {
        form.innerHTML += '<input type="hidden" name="chosen[]" value="'+chosen[i].id+'">';
    }
}

这应循环遍历表单,查找所选类的所有元素,并添加带有该元素ID的隐藏输入。请注意,您可能需要更改隐藏输入元素的name以匹配服务器端代码。另外,请务必更新$formselector以实际匹配您的表单。

答案 1 :(得分:0)

您需要创建一个隐藏的输入并通过javascript或jquery为其赋值。

<form class="form-horizontal" role="form">

<input type="hidden" name="my_data" value="" />

<div class="form-group">
    <ul class="select_list">
        <li id="s1" class="chosen">Apple</li>
        <li id="s2" style="display: none;">Peach</li>
        <li id="s3" style="display: none;">Plum</li>
        <li id="s4" class="chosen">Banana</li>
        <li id="s5" style="display: none;">Grapes</li>
        <li id="s6" class="chosen">Pear</li>
        <li id="s7" style="display: none;">Kiwi</li>
    </ul>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>

<script>
$('.select_list').change(function(){
    $('.my_data').val($(this).val());
});
</script>

试试这个......

答案 2 :(得分:0)

我明白了:

var value = [];
$('.chosen').each(function(){
    value.push(this.id.substring(1));
});
$('.form-horizontal').submit(function(){
    $('.form-horizontal').append('<input type="hidden" value="' + value +'"/>');
}