
获取Select标签选中的id值和文本值,<option>中id、value属性的区别
blog163com 2013-10-12 10:51
一个<select>标签,如何获取选中的select的值或者id?<option id="" value="">xxx</option>里有两个属性,id和value,他们有何区别?
一次不经意的错误让我发现了<option>里id和value的区别,呵呵
如下是一段HTML(用了Strut2的标签):
<s:form method="post" action="uploadLogoaction"> <table border="0"> <tr> <td class="STYLE1" align="left"> <select name="shopId"> <option id="-1">---选择店铺---</option> <option value="1">行行行行行行</option> </select> </td> </tr> <tr> <td><s:submit value="提交" /></td> </tr> </table> </s:form>
当你<option>里只设置id值或者你写错了写成value以外的其他东西,那么,你提交时,传到Struts2的Action类时获取选中的select值将是<option>的value值,也就是你写在<option id="xxx">aaaaa</option>的“aaaaa”。
只有当<option>里只设置value值时,才能获取你选中的select的ID。
也就是说,当你把shopId传到后台时
<select name="shopId">
1)如果此时option设置的是id,那么Action中shopId的值是“---选中店铺---”
<option id="-1">---选择店铺---</option>
2)如果此时option设置的是value,那么Action中shopId的值是“-1”
<option value="-1">---选择店铺---</option>
Struts2Action类测试如下:
ublic class uploadLogoAction extends ActionSupport{ private String shopId; public String test(){ Systemerrprintln("shopId:"+shopId); } / getter and setter method / }
第5行的sql语句是根据从url传过来的id到数据库中查询对应的数据记录
第7行把查询结果赋值给变量$rs
第24行 就可以输出查询出来的数据了,title、content都是数据库中对应记录中的字段
如下:
function doSet(){
alert($(document)attr("title"));//获取title值
$(document)attr("title","修改内容");//修改title值
}
扩展资料:
Jquery常用方法总结:
1、页面元素的引用
通过jquery的$()引用元素包括通过id、class、元素名以及元素的层级关系及dom或者xpath条件等方法,且返回的对象为jquery对象(集合对象),不能直接调用dom定义的方法。
2、jQuery对象与dom对象的转换
只有jquery对象才能使用jquery定义的方法。注意dom对象和jquery对象是有区别的,调用方法时要注意 *** 作的是dom对象还是jquery对象。
普通的dom对象一般可以通过$()转换成jquery对象。
3、获取jQuery集合的某一项
对于获取的元素集合,获取其中的某一项(通过索引指定)可以使用eq或get(n)方法或者索引号获取,要注意,eq返回的是jquery对象,而get(n)和索引返回的是dom元素对象。
对于jquery对象只能使用jquery的方法,而dom对象只能使用dom的方法,如要获取第三个<div>元素的内容。有如下两种方法:
复制代码如下:
$("div")eq(2)html(); //调用jquery对象的方法
$("div")get(2)innerHTML; //调用dom的方法属性
4、集合处理功能
对于jquery返回的集合内容无需我们自己循环遍历并对每个对象分别做处理,jquery已经为我们提供的很方便的方法进行集合的处理。
包括两种形式:
$("p")each(function(i){thisstylecolor=['#f00','#0f0','#00f'][i]})
//为索引分别为0,1,2的p元素分别设定不同的字体颜色。
$("tr")each(function(i){thisstylebackgroundColor=['#ccc','#fff'][i%2]})
//实现表格的隔行换色效果
$("p")click(function(){alert($(this)html())})
//为每个p元素增加了click事件,单击某个p元素则d出其内容
5、扩展我们需要的功能
$extend({
min: function(a, b){return a < ba:b; },
max: function(a, b){return a > ba:b; }
}); //为jquery扩展了min,max两个方法
使用扩展的方法(通过“$方法名”调用} :
alert("a=10,b=20,max="+$max(10,20)+",min="+$min(10,20));
7、支持方法的连写
所谓连写,即可以对一个jquery对象连续调用各种不同的方法。
例如:
$("p")click(function(){alert($(this)html())})
mouseover(function(){alert('mouse over event')})
each(function(i){thisstylecolor=['#f00','#0f0','#00f'][i]});
8、 *** 作元素的样式
主要包括以下几种方式:
$("#msg")css("background"); //返回元素的背景颜色
$("#msg")css("background","#ccc") //设定元素背景为灰色
$("#msg")height(300); $("#msg")width("200"); //设定宽高
$("#msg")css({ color: "red", background: "blue" });//以名值对的形式设定样式
改为
//循环每一个css样式为mod-listTitle_right'的元素
$('mod-listTitle_right')each(function(e){
$(this)click(function(){
var this_name = $(this)attr("id");
$post('collegephp',{zb_name:this_name},function(bck){
//需要做的 *** 作
});
});
});
应用开发中需要获取WebView当前页面的标题,可能通过对WebChromeClientonReceivedTitle()方法的重写来实现
代码如下:
public class MainActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
superonCreate(savedInstanceState);
setContentView(Rlayoutmain_layout);
final TextView txtTitle = (TextView) findViewById(RidtxtTitle);
final WebView webView = (WebView)findViewById(RidbtnWebView);
WebChromeClient wvcc = new WebChromeClient() {
@Override
public void onReceivedTitle(WebView view, String title) {
superonReceivedTitle(view, title);
txtTitlesetText("ReceivedTitle:" +title);
}
};
// 设置setWebChromeClient对象
webViewsetWebChromeClient(wvcc);
webViewloadUrl(">
没太看明白你的意思~
如果你是要不同的id显示不同的title的话,方法有很多~比如用switch case语句,还有用数组,还有用if elseif判断等。
我给你说一下用数组的方式代码如下:
<php$arr_tit = array(
1 => 'id为1的标题',
2 => 'id为2的标题',
3 => 'id为3的标题',
/
/
);
$id = intval($_REQUEST['id']);
>
<!DOCTYPE HTML>
<html>
<head>
<title><php echo $arr_tit[$id]; ></title>
<!--其他head内容-->
</head>
<body>
</body>
</html>
以上就是关于如何获取select下option 中的title值全部的内容,包括:如何获取select下option 中的title值、sql语句问题,第五行的sql是读取地址栏id的吧,第24行$rs的title从哪里来的、jquery如何给网页的title赋值<title></title>里面的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)