获取<select>中的<option>的内容而不是值</select> </option>

时间:2013-02-26 11:23:08

标签: php html select

我有以下HTML选择FORM:

<select name="quantity">
        <option value="0" >Select</option>
        <option value="125" >1</option>
        <option value="250" >2</option>
        <option value="375">3</option>
        </select>

我知道如何获取上面每个选项的值,但有没有办法获取变量(1,2.3 ...)

5 个答案:

答案 0 :(得分:2)

试试这个:

<select name="quantity" onchange="javacript: var valor = this.options[selectedIndex].text;  alert(valor); document.getElementById('shadow').value = valor;">
    <option value="0" >Select</option>
    <option value="125" >1</option>
    <option value="250" >2</option>
    <option value="375">3</option>
</select>
<input type="hidden" id="shadow" value="">

通过这种组合你可以完成你的任务...... javascript +隐藏输入,以及php $ _GET [&#39; shadow&#39;];)

Saludos。

答案 1 :(得分:1)

在正常情况下,提交表单时,只会提交select元素中所选项目的值。标签不会。

您的选择:

  • 在服务器上保留值/标签的映射,并使用提交的值来检索标签
  • 将标签存储在值中(可能通过将现有值和标签编码为JSON)
  • 使用JavaScript将标签添加到提交的数据

我强烈建议第一种选择。

答案 2 :(得分:1)

如果您放入名为SelectedHTML的隐藏字段,则可以使用javascript实现此目的。

<input type="hidden" id="SelectedHTML" name="SelectedHTML" />

例如,在select上使用onchange事件将selectedIndex的innerHTML放入隐藏字段,发布时你可以使用$ _GET [&#39; SelectedHTML&#39;]来检索数据

<select onchange="document.getElementById("SelectedHTML").value=this.options[this.selectedIndex].text;" name=....>

答案 3 :(得分:0)

不,不是标准HTML。

您可以使用JavaScript以某种方式执行此操作。

答案 4 :(得分:-2)

你不能用PHP做到这一点。你需要javascript(jQuery)。

方法文本()

  $('option').text();

会为你返回,然后你可以使用带有window.location的GET发送它。

  window.location = 'yoururl.php?value=' + $('option').text();