2017-03-08 94 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

我編輯了這個問題,請讓我知道如果我仍然可以應用您的解決方案。謝謝 –