Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 选择动态选择的选项:使用JSP+;滑动分页_Jquery_Jsp - Fatal编程技术网

Jquery 选择动态选择的选项:使用JSP+;滑动分页

Jquery 选择动态选择的选项:使用JSP+;滑动分页,jquery,jsp,Jquery,Jsp,我有一个有4个链接的页面,每个链接如下所示 <a href="contact.jsp?subject=one">Link1</a> <a href="contact.jsp?subject=two">Link2</a> <a href="contact.jsp?subject=three">Link3</a> <a href="contact.jsp?subject=Four">Link4</a&g

我有一个有4个链接的页面,每个链接如下所示

 <a href="contact.jsp?subject=one">Link1</a>
 <a href="contact.jsp?subject=two">Link2</a>
 <a href="contact.jsp?subject=three">Link3</a>
 <a href="contact.jsp?subject=Four">Link4</a>

jsp只是一个表单,它有一个文本框和一个包含4个选项的对话框。每当用户单击上面的链接时,它都会转到联系人表单,并根据HREF链接中传递的查询参数(主题)选择实际主题选项


是否可以在Jquery中执行此操作?

通过HTML
元素中的
selected
属性来标识所选选项

只需让JSP相应地生成所需的HTML即可

<select name="subject">
    <option value="one" ${param.subject == 'one' ? 'selected' : ''}>one</option>
    <option value="two" ${param.subject == 'two' ? 'selected' : ''}>two</option>
    <option value="three" ${param.subject == 'three' ? 'selected' : ''}>three</option>
    <option value="four" ${param.subject == 'four' ? 'selected' : ''}>four</option>
</select>

一
二
三
四

不需要奇怪的JS/jQuery解决方案。不管怎么说,它们都是用来逐渐增强的。换句话说,您的Web应用程序的设计/开发方式应确保即使禁用了JS,它也能保留核心功能。

只要您在URL中列出了主题,您就可以通过以下方式获得它:

$(document).ready(function(){
    function getURLParameter(name) {
        return decodeURI(
            (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
        );
    }
    $('#mySelect').val(getURLParameter('subject'));
});
$(document).ready(function(){
    function getURLParameter(name) {
        return decodeURI(
            (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
        );
    }
    $('#mySelect').val(getURLParameter('subject'));
    if($('#mySelect').val() == 'three'){
        $('#myFileUpload').show();
    }
});
然后,只需确保选择框选项的值与可能性“一、二、三”和“四”对应即可

作为对下面评论的回应,如果您希望随后检查该值并可能显示文件上载输入,则代码可能如下所示:

$(document).ready(function(){
    function getURLParameter(name) {
        return decodeURI(
            (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
        );
    }
    $('#mySelect').val(getURLParameter('subject'));
});
$(document).ready(function(){
    function getURLParameter(name) {
        return decodeURI(
            (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
        );
    }
    $('#mySelect').val(getURLParameter('subject'));
    if($('#mySelect').val() == 'three'){
        $('#myFileUpload').show();
    }
});

这比我的答案要好,我只是不懂Java。谢谢Chris。我会试试这个,然后告诉你。谢谢。但是我还有一个问题。在实际表单中,我有一个上载字段,该字段根据所选选项可见。当用户点击表单的链接,并自动选择正确的选项,但上传字段不显示时,上述修复程序就会起作用。当用户选择表单本身上的选项时,此选项起作用。我需要改变活动吗?谢谢克里斯。我会给你回复你的建议