我有以下select标签,其选项标签由php动态生成:
<select class="form-control " name="list" id="list" onchange="" >
<!-- option tags are dynamically generated-->
</select>
这些是将动态生成的一些示例选项:
<option value="1">Item-1</option>
<option value="2">Item-2</option>
<option value="3">Item-3</option>
当我使用var_dump($_POST)
时,我array (size=1) 'list' => string '1'
选择Item-1
选项。但我想将'list' => string 'Item-1'
等选项文字传递给$_POST
。我还需要原始选项value.i尝试这个ajax但没有工作:
$("#list").val(this.options[this.selectedIndex].text);
那么ajax我需要以正确的方式做到这一点。谢谢
答案 0 :(得分:1)
您只需将选项值设置为您想要接收的文本:
<option value="Item-1">Item-1</option>
<option value="Item-2">Item-2</option>
<option value="Item-3">Item-3</option>
或者您可以像这样获得选项文本和值:
var optionText = $("#list option:selected").text();
var optionValue = $("#list").val();
然后通过jQuery.ajax()
请求将其发送到服务器:
$.ajax({
method: "POST",
url: "yourFile.php",
data: { text: optionText , val: optionValue }
})
.done(function( result ) {
// handle the result
});
在yourFile.php
中,您将拥有此$_POST
数据:
array(
'text' => 'selected option text',
'val' => 'selected option value',
)