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

3

我有以下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……)?


2
你需要使用JavaScript。 - Salman A
要获取文本,您可以使用jQuery ajax。 - Dipesh Parmar
请为您的问题提出一个合适的标题,尤其是当您希望那些能够回答问题的人注意到时。 - deceze
@BartFriederichs 我的最佳猜测是,这个downvote是因为标题“请帮助我,我是php新手”不是一个有效的问题。 - Iesus Sonesson
1
@IesusSonesson 这就是我改变它的原因 :). - Bart Friederichs
显示剩余3条评论
5个回答

3

试试这个:

<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['shadow'] ;)

问候。


1
在正常情况下,当提交表单时,只有选择项目的值会被提交,在选择元素中标签不会被提交。
您的选项:
- 在服务器上保留值/标签映射,并使用提交的值来检索标签 - 在值中存储标签(可能通过将现有值和标签编码为JSON来实现) - 使用JavaScript将标签添加到提交的数据中
我强烈建议选择第一种选项。

1
如果您在隐藏字段中添加名为SelectedHTML的内容,您可以通过JavaScript实现此目标。
<input type="hidden" id="SelectedHTML" name="SelectedHTML" />

例如,对于选择器的onchange事件,将selectedIndex的innerHTML放入隐藏字段中,当提交时,您可以使用$_GET ['SelectedHTML']检索数据。
<select onchange="document.getElementById("SelectedHTML").value=this.options[this.selectedIndex].text;" name=....>

0

不,标准的HTML不能实现。

你可以使用JavaScript来实现它。


-2

你不能用PHP做那个。你需要使用JavaScript(jQuery)。

方法text()

  $('option').text();

我会为你返回它,然后你可以使用window.location以GET方式发送它。

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

我从未说过他必须使用jQuery。 - Glorious Kale
让我引用你的话:“你不能用PHP做到那个。你需要javascript(jQuery)。” 如果他正在学习,不要建议jQuery。 - Toping
jQuery是可选的。可以在不完全理解JavaScript的情况下使用jQuery完成任务。 - Glorious Kale
也有可能让没有医学知识的人打开这个程序。 - Toping

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接