Я в процессе миграции своего сайта Drupal 6 на Drupal 7. В результате я столкнулся с некоторыми проблемами с кодом.Вызов javascript в сочетании с jquery и т. Д. Отличается от того, что я читал в Drupal 7. Это изображение страницы, которая была у меня в Drupal 6. При изменении выпадающего списка в таблице над ним появляются проекты, относящиеся к этому статусу.Это прекрасно работает в Drupal 6. Но в Drupal 7 я вижу эту ошибку javascript.
Это элемент формы для выпадающего в моем файле php.
<? php
$form['status_list'] = array(
'#type' => 'select',
'#title' => t('Freeway Project Statuses'),
'#options' => array(
0 => t('-Select Status-'),
1 => t('Draft'),
2 => t('NotSpecified'),
3 => t('Quote'),
4 => t('Forecasted'),
5 => t('InEvaluation'),
6 => t('Cancelled'),
7 => t('Booked'),
8 => t('InProduction'),
9 => t('Completed'),
10 => t('Closed'),
),
'#default_value' => array('0' => 'Select Status'),
'#weight' => 0,
);
И это JavaScript, я изменил его с помощью дополнительных тегов для Drupal 7
(function$){ .. })(jQuery); .
Эти теги не были нужны в Drupal 6.
(function$){
$(document).ready(function () {
$("#edit-status-list").change(function() {
var selectedStatus = $(this).find(":selected").text();
var charExists = ((window.location.href).indexOf('?') >= 0) ? true : false;
if(charExists){
var split = (window.location.href).split('?');
var loc = split[0];
loc = loc+"?status="+selectedStatus;
self.location.href= loc;
}
else{
var locf = window.location.href+"?status="+selectedStatus;
self.location.href= locf;
}
});
$("#create-freeway-project").submit(function() {
$(":submit", this).attr("disabled", "disabled");
});
$(".common_link_class").click(function() {
//alert("Hello");
var count = ($(this).data("clicks") || 0) + 1;
$(this).data("clicks", count);
if ($(this).data("clicks") >= 1) {
}
if ($(this).data("clicks") >= 2) {
return false;
}
});
$("#edit-analysis-code-one").change(function () {
// Get the configs and split them.
var cfgs = _get_configs("edit-custRef");
var split_cfgs = cfgs.split('/');
// Create some new configs and put it back into the configs textfield.
//var new_cfgs = $(this).val() +"/"+ cfgs[1];
var new_cfgs = $("#edit-analysis-code-one option:selected").text() +"/"+ cfgs[1];
$("#edit-custRef").val(new_cfgs);
});
$("#edit-analysis-code-two").change(function () {
// Get the configs and split them.
var cfgs = _get_configs("edit-custRef");
var split_cfgs = cfgs.split('/');
// Create some new configs and put it back into the configs textfield.
//var new_cfgs = cfgs[0] +"/"+ $(this).val();
var new_cfgs = cfgs[0] +"/"+ $("#edit-analysis-code-two option:selected").text()
$("#edit-custRef").val(new_cfgs);
});
});
})(jQuery);
(function$){
function _get_configs(id) {
return $("#"+ id).val();
}
})(jQuery);
#edit_status_list
- это раскрывающийся списокнашего интереса.
Хотелось бы получить ваши предложения относительно того, какие дополнительные изменения необходимо сделать для правильного вызова javascipt в Drupal 7