JQuery Data属性在Kohana ajax中被删除

时间:2015-07-29 19:51:32

标签: javascript jquery html ajax kohana

我正在开发一个应用程序,他们已经使用jquery数据将变量传递给html

当数据属性附加到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'));

});

值属性在日志中很好,但数据产品标题却没有 这是我在Controller中调用视图的方式。

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

感谢您的意见。

1 个答案:

答案 0 :(得分:2)

你不会用Selectize或Select2这样的方式为你的选择元素设置风格,不是吗?这可能是从您的选项中剥离数据属性的原因。