动态填充表单字段,基于另外两个字段

时间:2011-02-01 15:17:11

标签: php jquery

假设我们有一个表单字段,并希望使用基于其他两个字段的图像填充它。说这些叫做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;
}

2 个答案:

答案 0 :(得分:0)

为什么不在页面加载或使用事件处理程序时只获取表单输入的值,然后根据它们的内容执行您想要的操作,例如

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

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

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

答案 1 :(得分:0)

要在geoffs3310上面的答案上构建,你可以轻松地将它与ajax结合起来做一些更复杂的逻辑,甚至可以从数据库构建自定义内容。

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;