控制层如何获取视图层select标签选中的值

控制层如何获取视图层select标签选中的值,第1张

在控制层中,可以通过以下两种方法获取视图层select标签选中的值:

通过表单提交获取:

在前端页面中,将选中的值作为表单的一个参数,通过form表单提交到后台控制层。在后台控制层中,通过requestgetParameter()方法获取表单参数的值。

示例代码如下:

HTML代码:

```

<form action="testController" method="post">

<select name="selectValue">

<option value="value1">选项1</option>

<option value="value2">选项2</option>

<option value="value3">选项3</option>

</select>

<input type="submit" value="提交"/>

</form>

```

控制层Java代码:

```

@RequestMapping("/testController")

public ModelAndView testController(>

String selectValue = requestgetParameter("selectValue");

// do something with selectValue

return new ModelAndView("viewName");

}

```

2 通过AJAX请求获取:

使用ajax请求,在前端页面中获取select标签选中的值,并通过ajax发送到后台控制层。在后台控制层中,通过@RequestParam注解获取ajax请求中的参数值。

示例代码如下:

HTML代码:

```

<select id="selectValue">

<option value="value1">选项1</option>

<option value="value2">选项2</option>

<option value="value3">选项3</option>

</select>

<button onclick="getValue()">获取选中值</button>

<script>

function getValue() {

var selectValue = documentgetElementById("selectValue")value;

$ajax({

type: "POST",

url: "testController",

data: {"selectValue": selectValue},

success:function(data){

// do something with data

}

});

}

</script>

```

控制层Java代码:

```

@RequestMapping("/testController")

public ModelAndView testController(@RequestParam String selectValue) {

// do something with selectValue

return new ModelAndView("viewName");

}

```

思路:点击option时触发事件,获取当前option的index,然后将对应index的div显示出来。实例演示如下:

1、HTML结构

<div id="test">

<li>青的</li><li>紫的</li><li>黄的</li>

</div>

<select>

<option value="option-1">苹果</option> 

<option value="option-2">葡萄</option> 

<option value="option-3">香蕉</option> 

</select>

2、jquery代码

$(function(){

$("#test li")hide();

$("select option")click(function() {

var n = $(this)index();

$("#test li")hide();

$("#test li")eq(n)show();

});

});

3、效果演示

页面加载时,因为没有任何选中项,所以 secondElementselectedIndex 值是 -1,secondElement

[-1]为undefined,所以alert()会d出 undefined 或 一个空的对话框;

如果你用鼠标选中了“选项9”,secondElementselectedIndex 值是 0,secondElement

[0]为"<option value="选项9">选项9</option>",所以alert()会d出 [object HTMLOptionElement]

把代码做一些修改:

<option value="选项9">选项9</option> 修改为

<option value="选项9" selected>选项9</option>

alert(secondElement[secondElementselectedIndex]); 修改为 alert(secondElement[secondElementselectedIndex]value);

获取值:

文本框,文本区域:$("#txt")attr("value");

多选框checkbox:$("#checkbox_id")attr("value");

单选组radio: $("input[@type=radio][@checked]")val();

下拉框select: $('#sel')val();

控制表单元素:

文本框,文本区域:$("#txt")attr("value",'');//清空内容

$("#txt")attr("value",'11');//填充内容

多选框checkbox: $("#chk1")attr("checked",'');//不打勾

$("#chk2")attr("checked",true);//打勾

if($("#chk1")attr('checked')==undefined) //判断是否已经打勾

单选组radio: $("input[@type=radio]")attr("checked",'2');//设置value=2的项目为当前选中项

下拉框select: $("#sel")attr("value",'-sel3');//设置value=-sel3的项目为当前选中项

$("<option value='1'>1111</option><option value='2'>2222</option>")appendTo("#sel")//添加下拉框的option

$("#sel")empty();//清空下拉框

获取值:

文本框,文本区域:$("#txt")attr("value");

多选框checkbox:$("#checkbox_id")attr("value");

单选组radio: $("input[@type=radio][@checked]")val();

下拉框select: $('#sel')val();

控制表单元素:

文本框,文本区域:$("#txt")attr("value",'');//清空内容

$("#txt")attr("value",'11');//填充内容

多选框checkbox: $("#chk1")attr("checked",'');//不打勾

$("#chk2")attr("checked",true);//打勾

if($("#chk1")attr('checked')==undefined) //判断是否已经打勾

单选组radio: $("input[@type=radio]")attr("checked",'2');//设置value=2的项目为当前选中项

下拉框select: $("#sel")attr("value",'-sel3');//设置value=-sel3的项目为当前选中项

$("<option value='1'>1111</option><option value='2'>2222</option>")appendTo("#sel")//添加下拉框的option

$("#sel")empty();//清空下拉框

$array = array("一星","二星","三星", "四星", "五星");

echo $array[$date['star'] - 1]; // 这里-1,因为数组是从0开始的。

如果你想是在表格中选可以给每个option后面加上判断。

<option value="1"<php if ($date['star'] == 1) { echo " selected=\"selected\""; }>>一星</option>

或者你想更好一点的话,下面的代码。

<select name="star">

<php

$array = array("一星","二星","三星", "四星", "五星");

foreach($array as $key => $value) {

>

<option value="<php echo ($key + 1);>"<php if ($key + 1 == $date['star']) { echo " selected=\"selected\""; } >><php echo $value; ></option>

<php

}

>

</select>

单选下拉列表框对象的value属性值就是选中项的value值,因此只需用如下代码即可

1

var selected_val = documentgetElementById(select_id)value;

并且,通过 *** 作select下的option也可以得到被选项的value值,方法为:

var sel = documentgetElementById(select_id);

var selected_val = seloptions[selselectedIndex]value;

实例演示如下:

1、HTML结构及javascript代码

<select id="test" onchange="alert(thisvalue)">

<option value="0">options-0</option>

<option value="1">options-1</option>

<option value="2">options-2</option>

</select>

以上就是关于控制层如何获取视图层select标签选中的值全部的内容,包括:控制层如何获取视图层select标签选中的值、jquery怎么实现选中select表单中某个option选项时d出一个div层说明option中的内容、javascript获取select标签下的option的value求解等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9283568.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存