2017-03-08 59 views
0

我想知道如何更好地处理这个问题,我有什么选择。我无法为此使用AJAX请求。查询数据库在选择onchange

我有一个下拉选择通过数据库中的SELECT查询填充。下拉菜单将用户的display_name显示为标签及其ID作为值。所以:

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

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

我接近这个不正确吗?

编辑:

我usiing高级自定义功能的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'); 

如果有一种方式来任何想法为此添加一个数据属性?

+0

http://stackoverflow.com/questions/4480637/how-to-change-a-selections-options-based-on-another-select-option-selected –

+0

你想得到选择框文本,而不是id ? – yogesh84

+1

您可以将“data-”属性添加到select项中。例如:数据用户名。比你可以检索它。 – oneNiceFriend

回答

0

因为它比快搞清楚插件是否提供了data-name属性,我设法通过改变我的逻辑来解决我的问题。

而不是将ID作为值传递,我已将用户名作为值传递。然后在接收端,我做了一个查询以获取基于用户名的ID(因为用户名是唯一的)。

0

恕我直言,最好的办法,你不能使用AJAX

  • 实际上,你可以与你使用填充选择以及查询获取用户名。
  • 创建于option标签的属性和对ID在标签查询类似<option data-name='Name' value='' ></option>
  • 填写的名字取上改变这一属性,您的问题将得到满足
+0

我编辑了这个问题,请让我知道如果我仍然可以应用您的解决方案。谢谢 –