如何在jquery中隐藏文本框以进行初始加载?

时间:2013-06-06 12:02:24

标签: javascript jquery codeigniter

我正在这个项目中工作,我面临这个问题。加载后点击我的代码。 我为每个用户使用了id。这是活动/非活动用户的代码。我将id传递给每个文本框和span。它不起作用。提供有关如何解决此问题的一些想法。 PHP代码:

    <!--top section start-->
<?php $this->load->view("header");?>
    <div id="wrapper" style="height: auto;">
         <div class="user_intro">
            <table  width="600" height="300">
             <th style="text-align:left;">First Name</th>
             <th style="text-align:left;">Email</th>
             <th style="text-align:center;">Active Status </th>
         <?php 
        foreach($result as $user)
        {?>
             <tr>
                 <td style="text-align:left;"><a href="<?php echo base_url()?>siteadmin/home/userdetail?userid=<?php echo $user->user_id; ?>"><?php echo $user->first_name;?></a></td>
                 <td style="text-align:left;"><a href="<?php echo base_url()?>siteadmin/home/userdetail?userid=<?php echo $user->user_id; ?>"><?php echo $user->email;?></a></td>
                 <?php if ($user->status == 1) { ?>
                 <td style="text-align:center;"><input type="button" id="<?php echo $user->user_id; ?>" value="" class="on" onclick="togglestyle(this,this.id)" /> </td>              
                 <td><span id="reason_<?php echo $user->user_id; ?>"><input type="text" value="<?php echo $user->reason; ?>" /> </span></td>
                <?php } 
                else {?>
                 <td style="text-align:center;"><input type="button" id="<?php echo $user->user_id; ?>" value="" class="off" onclick="togglestyle(this,this.id)" /> </td>   
                 <td><span id="reason_<?php echo $user->user_id; ?>"><input type="text" value="<?php echo $user->reason; ?>" /> </span></td>
                 <?php } ?>
             </tr>
        <?php }
        ?>
        </table>

        </div>
    </div>

    <!--fotter section start-->

</div> <?php $this->load->view("footer"); ?>

我在头文件中添加了javascript代码。:

<script type="text/javascript">
function togglestyle(el, id) {
    if (el.className == "on") {
        $("#reason_" + id).show();
        $.ajax({
            type: "POST",
            url: "statuson",
            data: "userid=" + id,
            success: function (html) {
                if (html == 'true') {
                    el.className = "off";

                }
            },
        });
    } else {
        $("#reason_" + id).hide();
        $.ajax({
            type: "POST",
            url: "statusoff",
            data: "userid=" + id,
            success: function (html) {
                if (html == 'true') {
                    el.className = "on";
                }
            },
        });
    }
}
</script>

4 个答案:

答案 0 :(得分:1)

你可以简单地添加“display:none;”对于要在初始加载中隐藏的元素。

像:

<span id="reason_<?php echo $user->user_id; ?>" style="display:none;">

然后你的代码应该可以工作。

答案 1 :(得分:0)

简单...在文档加载时调用具有默认值的函数,如

<script type="text/javascript">
    $(document).ready(function(){
         togglestyle(el,id); //Here el,id are default values for those you need to hide initially
    });
</script>

或者如果您想先隐藏所有文本框,请尝试

$(document).ready(function(){
    $("span[id^='reason'] input[type='text']").hide();
})

答案 2 :(得分:0)

在你的div style =“display:none;

中使用这个

答案 3 :(得分:0)

jQuery("input[name='multiple_location']").on('change', function () {
    if (jQuery('input[name="multiple_location"]:checked').val()=='yes') {
    jQuery("#primary_location_text").css('visibility', '');
    } else {

    jQuery("#primary_location_text").css('visibility', 'hidden');
    }
});