Php 如果不满足条件,则隐藏附加的表单字段

Php 如果不满足条件,则隐藏附加的表单字段,php,javascript,jquery,forms,Php,Javascript,Jquery,Forms,我有一个附加脚本,它在我的表单上添加了一组字段。根据附加字段,我希望“upg”选择字段仅在“状态”的值为“实际”时显示。此条件应适用于所有附加字段集,因此,如果status1为实际,我有一个upg字段,但status2为重影,则upg2字段应隐藏,依此类推。你们建议什么是最好的方法 <script type="text/javascript"> var count = 0; $(function(){ $('a#add_field').click(fu

我有一个附加脚本,它在我的表单上添加了一组字段。根据附加字段,我希望“upg”选择字段仅在“状态”的值为“实际”时显示。此条件应适用于所有附加字段集,因此,如果status1为实际,我有一个upg字段,但status2为重影,则upg2字段应隐藏,依此类推。你们建议什么是最好的方法

    <script type="text/javascript">
    var count = 0;
    $(function(){
    $('a#add_field').click(function(){
    count += 1;

    $('#activation').append(
        '<div class="row-fluid">'                   
        +'<div class="span12" style="border-bottom:1px #dddddd; background-color:#e8e8e8; ">'

                +'<div style="float:left; width:7%;">'
                +'<label>&nbsp;</label>'                    
                +'<select name="status' + count + '" id="status' + count + '"  class="input-small">'
                +'<option value="Ghost">Ghost</option>'
                +'<option value="Actual">Actual</option>'
                +'</select>'
                +'</div>'

                +'<div style="float:left; width: 7%">'
                +'<label>Type</label>'
                +'<select id="upg' + count + '" name="upg' + count + '"  class="input-small" >'
                +'<option value="" selected="&nbsp;" >&nbsp;</option>'
                +'<option value="Exp" >Exp</option>'
                +'<option value="Post" >Post</option>'
                +'<option value="Upgrade" >Upg</option>'
                +'<option value="Retail" >Retail</option>'
                +'</select>'
                +'</div>'
         );     
      });   
});

var计数=0;
$(函数(){
$('a#添加_字段')。单击(函数(){
计数+=1;
$(“#激活”)。追加(
''                   
+''
+''
+' '                    
+''
+“鬼”
+“实际的”
+''
+''
+''
+“类型”
+''
+' '
+“Exp”
+“职位”
+“Upg”
+“零售”
+''
+''
);     
});   
});

如果($(“#状态”)。值==“实际值”){//append

我个人发现将一组复杂的html(尤其是使用某种类型的逻辑来确定最终dom的html)分解为多个jquery对象更容易。虽然将多个对象附加在一起比内联要慢,但有时还是值得一提的

无论如何,您需要一些数据或设置来确定初始选定的状态选项,并且您可以使用相同的值来显示/隐藏相应的upg。我建议您将其拆分为两个附件,在将其附加到dom之前将其隐藏,这样您就不会看到upg select flash:

var some_setting_or_db_val = 'ghost';

var row = $('<div class="row-fluid">'                   
    +'<div class="span12" style="border-bottom:1px #dddddd; background-color:#e8e8e8; ">'

            +'<div style="float:left; width:7%;">'
            +'<label>&nbsp;</label>'                    
            +'<select name="status' + count + '" id="status' + count + '"  class="input-small">'
            +'<option value="Ghost">Ghost</option>'
            +'<option value="Actual">Actual</option>'
            +'</select>'
            +'</div>'

            +'<div style="float:left; width: 7%">'
            +'<label>Type</label>'
            +'<select id="upg' + count + '" name="upg' + count + '"  class="input-small" >'
            +'<option value="" selected="&nbsp;" >&nbsp;</option>'
            +'<option value="Exp" >Exp</option>'
            +'<option value="Post" >Post</option>'
            +'<option value="Upgrade" >Upg</option>'
            +'<option value="Retail" >Retail</option>'
            +'</select>'
            +'</div>');

if(some_setting_or_db_val == 'ghost'){
    row.find("#upg" + count).hide();
}

$('#activation').append(row)
var some_setting_或_db_val='ghost';
变量行=$(“”
+''
+''
+' '                    
+''
+“鬼”
+“实际的”
+''
+''
+''
+“类型”
+''
+' '
+“Exp”
+“职位”
+“Upg”
+“零售”
+''
+'');
如果(某些设置或值=='ghost'){
row.find(“#upg”+count).hide();
}
$(“#激活”).append(行)

谢谢Faris。这确实有道理。