2011-02-01 137 views
0

假设我们有一个表单字段,并希望使用基于其他两个字段的图像填充表单字段。说这些叫做COLOR和STYLE。所以如果风格是'A'而颜色是黑色的,我们想要显示代表这些选择的独特图像。如果风格是'B'并且颜色是黑色,则是另一个图像。基于其他两个字段动态填充表单字段

那么,什么是从以下?:

add_filter("pre_render", "populate_dropdown"); 

function populate_dropdown($form){ 

    if($form["id"] != 1) 
     return $form; 

    foreach($form["fields"] as &$field) 
     if($field["id"] == 1){ 
      $field["content"] = "DYNAMIC STUFF HERE"; 
     } 

    return $form; 
} 

回答

0

要建立在geoffs3310的回答上面,你可以很容易地结合起来,与阿贾克斯做一些更复杂的逻辑,甚至建立从数据库中您的自定义内容。

style = $('#style').val(); 
color = $('#color').val(); 

$.ajax({ 
    type: "POST", 
    url: "get_image.php" 
    data: { "style" : style, "color" : color }, 
    success: function(msg) { 
      $("#image_field").html('<img src="' + msg + '" />'); 
    } 
}); 

而且在get_image.php:

$color = $_POST['color']; 
$style = $_POST['style']; 
var $image; 

// Logic goes here, setting $image to the appropriate image link 

echo $image; 
0

缺少你为什么不无论是在页面加载或使用事件处理程序刚刚得到的表单输入值,然后你根据想要的东西他们例如有

$(document).ready(function() { 
    style = $('#style').val(); 
    color = $('#color').val(); 

    if(style=='A' && color=='black') { 
     // do something 
    } 

    if(style=='B' && color=='black') { 
     // do something 
    } 
}); 
相关问题