php - JQuery 获取动态创建的选择值

标签 php jquery

我已经查看了很多关于此的页面,但似乎无法弄清楚为什么这不起作用。

在 HTML 页面中,我使用 PHP 在页面上动态创建一个下拉框,如下所示:

$sel = '<select "id"="userPhones">';

foreach ($user_phones as $single_phone) 
{
$phoneId = $single_phone['id'];
$phoneNum = $single_phone['phone_num'];
if($single_phone['isdefault']=='1')
{
    $sel.="<option id=".$phoneId." selected='selected'>".$phoneNum."</option>";
}
else
{
    $sel.="<option id=".$phoneId.">".$phoneNum."</option>";
}
}
$sel .='</select>';
echo $sel;

我看到下拉列表毫无问题地出现在页面上,并且看起来一切正常。但后来我尝试使用 JQuery 来获取下拉列表的值,并通过执行以下操作来对其进行操作:

phone_num = $('#userPhones :selected').val();
alert(phone_num);

由于某种原因,每当我尝试获取该值时,我都会收到“未定义”的警报,而不是下拉列表的值。我确信这已被设置,因为我已经查看了页面的源代码,并且我已经使用 Firebug 检查了页面上存在的元素。我尝试过仅使用下拉列表的 ID 和 val(),我尝试过使用 text() 但似乎无法抓取任何内容。有人可以告诉我这里到底发生了什么事吗?我已经为此绞尽脑汁有一段时间了。

最佳答案

select 元素中的 id 字段不应包含引号。它不是有效的标记,因此 jQuery 无法使用该 id 找到它。

关于php - JQuery 获取动态创建的选择值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5834924/

相关文章:

javascript - 如何获取客户端帖子大小?

PHP 输出缓冲?最佳做法是什么?

jquery - 使用 css3 和 jquery 翻转

javascript - jQuery .html() 方法关闭 <p> 标签问题?

javascript - 下拉菜单 - 从 CSS 移动到使用 JavaScript 运行

javascript - 如何将标签转换为 "..."

php - 如何将两个 MySQL 查询连接到一个数组中?

php - Windows 10 上 PHP 7.2 上的 PEAR

php - 更新查询在具有多个 where 子句的准备好的语句中不起作用

jquery - 没有 jQuery 的 AngularJs 中的 Highcharts?