2015-07-29 3 views
1

Я работаю над приложением, в котором они пошли с данными Jquery, чтобы передать переменные в HTMLJQuery данных атрибутов получать раздели в Kohana AJAX

он работает в одном из аспектов сайта, когда атрибуты данных привязаны к тег tr. Этот код работает

<tr class="js-instructions-row documents__table-row 
<?=$ix.'row';?><?php //$ix==0 ? 'documents__table-row--active' : '' ?>" 
data-product-title="<?= $sheet->name ?>" 
data-instructions-image="<?= $serverpath.$thisImage ?>" 
data-instructions-file="<?= $serverpath.'Instructions/'.$sheet->file ?>" 
> 

, когда я пытаюсь поставить эти атрибуты на выберите тег или вариант тега в другой точке зрения, оно не приходит через. Этот код не работает.

<?php 
foreach($instructions as $ix => $sheet) { 
$thisImage = ($sheet->image?$sheet->image:'Image_holder_thumb.png'); 
?> 
<option test="" data-product-title="<?= $sheet->name ?>" data-instructions-image="<?= Kohana::$config->load('aws.s3-baseurl-www-customercare').$thisImage ?>" data-instructions-file="<?= Kohana::$config->load('aws.s3-baseurl-www-customercare').'Instructions/'.$sheet->file ?>" value="<?=$sheet->id?>"><?=$sheet->name?></option> 
<?php 
} 
?> 

и оскорбление JavaScript:

$('.js-product-selector').on('change',function(e){ 

var selected = $(this).find('option:selected'); 
console.log(selected.attr('value')) 
console.log(selected.data('product-title')); 
$(".documents__product-title").text(selected.data('product-title')); 
$(".documents__preview img").attr('src',selected.data('instructions-image')); 
$(".documents__download").attr('href',selected.data('instructions-file')); 

}); 

значение атрибута проступает только штраф в журнале, но данные-продукт-названии не вот как мой взгляд называется в контроллере.

$this->response->body(View::factory($this->folder."/instruction-sheets")->set('brands',ORM::factory('Brand')->with('Customercare_Instruction')->find_all())->set('postbrand',$brand)); 

мнение, что работает вложен внутри вид, который называется так:

$this->page=View::factory($this->folder.'/index'); 
$this->page->breadcrumb = 'Instruction Sheets'; 
$this->page->content = View::factory($this->folder."/instruction-sheets")->set('brands',ORM::factory('Brand')->with('Customercare_Instruction')->find_all()); 

и вспомогательный вид называется как этот

<?= View::factory('customer-care/instruction-sheets-filtered')->set('instructions',$instructions)->render() ?> 

Я ценю ваш вклад ,

ответ

2

Вы бы ни в коем случае не ставили бы свой элемент выбора чем-то вроде Selectize или Select2, не так ли? Вероятно, это то, что отделяет атрибуты данных от ваших параметров.

+0

это была проблема. Спасибо, Бен! –

+0

Очевидно, что это проблема. Хорошая работа Бен. #weAllWorkTogether – AndrewHipp