我想讓我的網站的用戶,上傳圖片,然後選擇一個是後面的圖像,上傳工作正常,但我的控制器有問題或查看我想,我將不勝感激一些可以幫助我,PHP和jquery,幫助傳遞PHP變量爲javascript
VIEW:
<div id="background-select">
<?php
$count = 0;
if(isset($special)) {
foreach ($special as $row) {
print '<div class="select">';
print "<a class='background_btn' href='index.php/home/set_background/".$row['background_id']."'>$count</a>";
print '</div>';
$background = $row['background_name'];
echo $background;
}
}
if(isset($generic)) {
foreach ($generic as $row) {
print '<div class="select">';
print "<a class='background_btn' href='index.php/home/set_background/".$row['background_id']."'>$count</a>";
print '</div>';
$background = $row['background_name'];
echo $background;
}
}
if(isset($user_background)) {
foreach ($user_background as $row) {
print '<div class="select">';
print "<a class='background_btn' href='index.php/home/set_background/".$row['background_id']."'>$count</a>";
print '</div>';
$background = $row['background_name'];
echo $background;
}
}
?>
</div>
<script type="text/javascript">
$("a.background_btn").click(function(ev){
ev.preventDefault();
alert("hello");
var url = $(this).attr("href");
alert(url);
$.ajax ({
url : url,
type: "POST",
success : function (html) {
alert("<?php echo $background; ?>")
$('#wrapper').css('background', 'url(/media/uploads/backgrounds/<?php echo $background; ?>)');
}
})
});
</script>
<div id="wrapper">
控制器:
public function set_background() {
$this->load->model('image_model');
if($query = $this->image_model->get_background_by_id($this->uri->segments[3])) {
//die(var_dump($query));
foreach ($query as $row) {
$data['background'] = $row['background_name'];
}
}
$this->load->view('template/background-select', $data);
}
的問題是,我可以將背景設置爲僅杉例如,如果第一個循環返回$ background到= red.png,那麼我不能得到任何東西,但只有red.png加載英寸返回值。
任何人都可以建議一個解決方案嗎?
這是正確的,我使用AJAX的背景圖像加載,我想我跟着你的意思,但一個代碼示例將非常有幫助,因爲我認爲它比renamin更復雜一些變量?如果我沒有在我的成功方法中設置背景,我該怎麼辦?如何? – Udders 2010-01-11 10:40:39
製作一個php頁面或控制器,它接收您要設置的背景的ID,並讓它返回一個空白頁面,其中包含'red.png'或類似內容。然後,在你的成功方法中,'red.png'將成爲方法的參數,所以你可以使用它來設置背景。 我不知道使用的MVC方法給你一個完整的例子...對不起:-) – 2010-01-11 11:54:27