2015-07-29 1 views
1

Je travaille sur une application où ils sont allés avec des données jquery pour transmettre des variables au format htmlJQuery attributs de données se dépouilla dans Kohana ajax

cela fonctionne dans un aspect du site lorsque les attributs de données sont attachés à une étiquette tr. Ce code fonctionne

<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 ?>" 
> 

lorsque je tente de mettre ces attributs sur une balise select ou une étiquette d'option dans un autre point de vue, il ne vient pas à travers. Ce code ne fonctionne pas.

<?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 
} 
?> 

et javascript offenser:

attribut
$('.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')); 

}); 
valeur

passe par très bien dans le journal, mais-titre de données produit ne voici comment mon avis est appelé dans le contrôleur.

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

La vue qui fonctionne est imbriqué dans une vue qui est appelé comme ceci:

$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()); 

et la sous-vue est appelé comme celui-ci

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

Je vous remercie de votre entrée .

Répondre

2

Vous ne stylisez pas votre élément select avec quelque chose comme Selectize ou Select2, n'est-ce pas? C'est probablement ce qui dépouille les attributs de données de vos options.

+0

c'était le problème. Merci Ben! –

+0

Il est clair que c'est le problème. Beau travail Ben. #weAllWorkTogether – AndrewHipp