在select onchange

时间:2017-03-08 06:27:40

标签: php jquery mysql wordpress select

我想知道如何更好地解决这个问题,以及我的选择。我无法使用AJAX请求。

我在数据库中通过SELECT查询填充了一个下拉列表选项。下拉列表将用户的display_name显示为标签,将 ID 显示为值。所以:

$('select').val()检索ID。

我的问题是我想在Dropdown选择的onchange事件中显示所选用户的用户名(来自同一数据库表的另一列)。

我接近这个错误吗?

修改

我正在使用Wordpress的高级自定义功能,所以我正在检索我的选择并填充它:

function acf_load_color_field_choices( $field ) {
    $field['choices'] = array();

    foreach ($query as $row) {
        $field['choices'][$row[ID]] = $row[display_name];
    }

    return $field;
}
add_filter('acf/load_field/name=select_name', 'acf_load_color_field_choices');

知道是否有办法为此添加数据属性?

2 个答案:

答案 0 :(得分:0)

恕我直言,因为你不能使用AJAX的最佳方法是

  • 您实际上可以获取用户名以及用于填充选择的查询。
  • option代码中创建一个属性,并根据<option data-name='Name' value='' ></option>
  • 等代码中的ID填充查询中的名称
  • 在更改时获取此属性,您的问题将得到满足

答案 1 :(得分:0)

由于它比确定插件是否提供data-name属性更快,因此我设法通过更改逻辑来解决我的问题。

我没有将ID作为值传递,而是将用户名作为值传递。然后在接收端,我做了一个查询,根据用户名获取ID(因为用户名是唯一的)。