ユーザーがドロップダウンリストから値を選択できるようにするD7のWebフォームがあります。これらの値は、ビューから動的に更新する必要があります。これどうやってするの?
webform viewreference module を見つけましたが、それはD6です。誰かがコーダーを使用して作成した d7ポート がありますが、作成者のメモのように、ビュー参照Webフォームコンポーネントでフォームを表示しようとするとエラーが発生します。
そこに解決策はありますか?
を見てください サンドボックス プロジェクト Webform Views Select 。
このモジュールを使用すると、Webform selectコンポーネントにビューのデータを入力できます。
.jsファイルを使用して独自のモジュールを作成する必要があります。そのためのrfiフォームを作成し、jsファイルを通じて値を取得する必要があります。
サイトで国を選択する必要があり、その国に基づいてコース、SiteID、AccountID、campaignIDなどの異なる値を選択する必要があるとします。
。jsファイルでは次のことを行う必要があります:
(function ($) {
Drupal.behaviors.highwire_article_nav = {
attach: function (context, settings) {
var campus_settings = $.parseJSON(Drupal.settings.settings_campus.campus_data);
$('select#edit-submitted-occupation').find('option').remove();
$('select#edit-submitted-occupation').append($('<option>', {
value: '- Select -',
text : '- Select -'
}));
$('select#edit-submitted-country').change(function(e){
var campus = $(this).val().toLowerCase();
var campus_config = campus_settings[campus];
var campus_courses = campus_config.courses
$('[name="submitted[siteid]"]').attr('value', campus_config.siteID);
$('[name="submitted[campaignid]"]').attr('value', campus_config.campaignID);
$('[name="submitted[accountid]"]').attr('value', campus_config.accountID);
$('select#edit-submitted-occupation').find('option').remove();
$.each(campus_courses, function(index) {
$('select#edit-submitted-occupation').append($('<option>', {
value: campus_courses[index],
text : campus_courses[index]
}));
});
});
}
}
}(jQuery));
rfiフォームでは、次のような値を指定します:
{"country_name":{"course_name":{"0":"Course_name_1","1":"Course_name_2"},"campaignID":"value_of_campaign_ID" , "siteID":"value_of_site_ID" ,"accountID":"value_of_account_ID"}} and so on.