PHP脚本JQuery抓取错误的元素数量

时间:2018-01-16 21:26:08

标签: javascript php jquery show-hide

我一直在使用JQuery根据登录状态显示/隐藏元素,但是我遇到了一些意想不到的结果,这里是代码:

    public class MainActivity extends AppCompatActivity {
    private Button browse;
    private EditText editTextPath;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        browse = (Button) findViewById(R.id.browse);
        editTextPath = (EditText) findViewById(R.id.path);
        browse.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
                intent.setType("*/*");
                intent.addCategory(Intent.CATEGORY_OPENABLE);
                startActivityForResult(Intent.createChooser(intent,"Select file or dir"), 1);
                setResult(Activity.RESULT_OK);
            }
        });


    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == 1 && resultCode == Activity.RESULT_OK) {
            String Fpath = data.getDataString();
            editTextPath.setText(Fpath);
        }

    }
}

如果用户未登录,则会隐藏表单。

<script>
    $(document).ready(function(){
        $("#uploadform").hide();
    });
</script>

仅在用户未登录时显示这些内容

    <h2 id="needlogon"> You need to be logged in </h2>
    <a id="needlogon" href="index.php"> Back to start </a>

上传表单显示/隐藏为有意,但在设置条件($ _SESSION [&#39; cid&#39;])时,不会隐藏needlogon元素。唯一可行的方法是,如果我将元素的ID更改为needlogon1和needlogon2,并将JQuery更改为:

<?php
if (isset($_SESSION['cid'])){
   echo '<script>
           $(document).ready(function(){
           $("#uploadform").show();
           $("needlogon").hide();
           });
         </script>';
}
?>

我确定我只是错过了一些愚蠢的事情,有人知道它是什么吗?

1 个答案:

答案 0 :(得分:0)

首先,您的jQuery选择器已关闭:

// $("needlogon").hide();
$("#needlogon").hide(); // you forgot the #

话虽如此,你正在使用一个ID - 它应该是唯一的。您可能希望将needlogin的两个用法更改为class而不是id,然后您的选择器就像.needlogon一样:

$(".needlogon").hide();