2014-11-02 2 views
0

내 컨트롤러에서 이미지 위치를 찾은 다음선택 자바 스크립트에서 변경할 이미지

$data['template_image']으로 설정하는 데이터 배열이 있습니다. 보기 및<img src="<?php echo $template_image;?>" alt="" id="template" class="img-thumbnail" />

이미지를 저장할 때 이미지가 변경되지만 내가 얻으려고하는 것은 드롭 다운 옵션을 사용하면 드롭 다운 옵션으로 변경된다는 것입니다.

jquery 또는 codeigniter가있는 Java 스크립트로 어떻게 그 효과를 얻을 수 있습니까?

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class Website extends Controller { 

public function __construct() { 
parent::__construct(); 
$this->load->model('admin/website/model_website'); 
$this->load->model('admin/website/model_website_setting'); 
$this->lang->load('admin/website/website', 'english'); 
$this->model_website_setting->setWebsiteID($this->uri->segment(4)); 
} 

public function index() { 
$this->document->setTitle($this->lang->line('heading_title')); 


if (!empty($this->input->post('config_template'))) { 
$data['config_template'] = $this->input->post('config_template'); 
} else { 
$data['config_template'] = $this->model_website_setting->get('config_template'); 
} 

$data['templates'] = array(); 

$directories = glob(APPPATH . 'modules/catalog/views/theme/*', GLOB_ONLYDIR); 

foreach ($directories as $directory) { 
$data['templates'][] = basename($directory); 
} 

if (is_file(FCPATH . 'image/templates/' . $this->model_website_setting->get('config_template') . '.png')) { 
$data['template_image'] = base_url('image/templates/' . $this->model_website_setting->get('config_template') . '.png'); 
} else { 
$data['template_image'] = base_url('image/no_image.png'); 
} 

return $this->load->view('website/website_form', $data); 

} 

} 

보기

<form action="<?php echo $action;?>" method="post" role="form"> 

<div class="form-group"> 
<label class="col-sm-2 control-label" for="input-template"><?php echo $entry_template; ?></label> 
<div class="col-sm-10"> 
<select name="config_template" id="input-template" class="form-control"> 
<?php foreach ($templates as $template) { ?> 
<?php if ($template == $config_template) { ?> 
<option value="<?php echo $template; ?>" selected="selected"><?php echo $template; ?></option> 
<?php } else { ?> 
<option value="<?php echo $template; ?>"><?php echo $template; ?></option> 
<?php } ?> 
<?php } ?> 
</select> 
<br /> 
<?php if (is_file(FCPATH . 'image/templates/' . $this->model_website_setting->get('config_template') . '.png')) { ?> 
<img src="<?php echo base_url('image/templates/' . $this->model_website_setting->get('config_template') . '.png');?>" alt="" id="template" class="img-thumbnail" /> 
<?php } else { ?> 
<img src="<?php echo base_url('image/no_image.png')?>" alt="" id="template" class="img-thumbnail" /> 
<?php } ?> 
</div> 
</div> 

</form> 

답변

0
$(document).ready(function(){ 
    $("select").on('change',function(){ 
     $("#my_image_id").attr("src",this.value); 
    }); 
}); 

http://jsfiddle.net/83xn35nk/

편집 귀하의 경우

은은 다음과 같습니다

$(document).ready(function(){ 
    $("#input-template").on('change',function(){ 
     $("#template").attr("src",this.value).; 
    }); 
}); 
+0

당신의 선택 상자의 onchange를 양식을 제출

<form id="myForm" action="<?php echo $action;?>" method="post" role="form"> 

처럼 폼에 ID를 추가; 그냥 텍스트를 보여줍니다. –

+0

컨트롤러가 중요하지 않습니다. 브라우저에서 생성 된 html 코드를 표시하십시오.) EDIT 방금 ​​읽은 컨트롤러가 잘못된 데이터를 반환합니까? – Adam

+0

이미지가 표시되지 않으므로 PHP에서 모두 작동하지 않습니다. select [name = \ 'config_template \']와 함께 작동하게해야합니다. –

0
<form action="<?php echo $action;?>" method="post" role="form"> 

귀하의 $ action 값은 어디입니까? 당신은 그것을 보내기 위해 controller.try로부터 action 값을 보내지 않을 것이다. 같은 $data['action']='your action path'
지금은 그 시도했지만 내 컨트롤러 $의 template_image 작동하지 않습니다

$(document).ready(function() 
{ 
    $(document).on("change", "#input-template", function(event) 
    { 
    $("#myForm").submit(); 
    }); 
}); 
관련 문제