需求如下:
通过jQuery获取查域项默认下拉框的change事件,根据选择的值显示或隐藏下面的另外一栏

<tr>
<td nowrap="true" valign="top" width="190px" class="ms-formlabel"><h3 class="ms-standardheader">
<nobr>Account</nobr>
</h3></td>
<td valign="top" class="ms-formbody">
<!-- FieldName="Account"
FieldInternalName="Account"
FieldType="SPFieldLookup"
-->
<span dir="none"><select name="ctl00$m$g_ccde1d47_3013_47b9_abf7_df57f0c572c8$ctl00$ctl05$ctl01$ctl00$ctl00$ctl04$ctl00$Lookup"
id="ctl00_m_g_ccde1d47_3013_47b9_abf7_df57f0c572c8_ctl00_ctl05_ctl01_ctl00_ctl00_ctl04_ctl00_Lookup" title="Account">
<option selected="selected" value="0">(无)</option>
<option value="4">123456</option>
<option value="1">A_1</option>
<option value="2">A_2</option>
<option value="3">A_3</option>
</select><br></span>
</td>
</tr>
<script language="javascript" src="/Shared%20Documents/jquery.min1.3.js" type="text/javascript"></script><script type="text/javascript">
$(document).ready(function () {
alert('1');
$("nobr:contains('Account')").parent('h3').parent('td').parent('tr').find('select').change(function(){
var v=$(this).children('option:selected').val();
alert(v);
}
});</script>
JS是在新建表单中的内容编辑器中写的,不知道我什么地方写错了,打开后不会alert('1'),改变选项值也没有任何响应
------解决方案--------------------
你的的环境是2010 不知道行不行哦。
<select id="StatusSelect">
<option value ="Green">Green</option>
<option value ="Blue">Blue</option>
<option value="Amber">Amber</option>
<option value="Red">Red</option>
</select>
$('#StatusSelect').change(function () {
var color = $('#StatusSelect').val();
//change the current color
setProjectColor(color);
})
function setProjectColor(color) {
if (color == "Red") {
$("#ColorTag").css("background-color","Red");
} else if (color == "Green") {
$("#ColorTag").css("background-color","Green");
} else if(color == "Blue") {
$("#ColorTag").css("background-color","Blue");
} else if(color == "Amber") {
$("#ColorTag").css("background-color","Yellow");
}
}
------解决方案--------------------
那就是6-8行出错了
你用IE的debug tool调试一下,错误会蹦出来的
------解决方案--------------------
http://www.cnblogs.com/jianyus/p/3812758.html
可能对你有所帮助
------解决方案--------------------
感谢,可以获取到change事件了,但我通过val取值取的是value而不是显示的值,有相应方法吗 用text取的是所有显示的值空格间隔<script language="javascript" src="/Shared%20Documents/jquery.min1.3.js" type="text/javascript"></script><script language="javascript" type="text/javascript">
$(document).ready(function(){
$('#ctl00_m_g_c6138c76_4b3c_471a_8d5f_06776e162522_ctl00_ctl05_ctl01_ctl00_ctl00_ctl04_ctl00_Lookup').change(function(){
var txt= $('#ctl00_m_g_c6138c76_4b3c_471a_8d5f_06776e162522_ctl00_ctl05_ctl01_ctl00_ctl00_ctl04_ctl00_Lookup').val();
alert(txt);
});
});</script>
使用text(),需要指定option:selected,试试这个:
<script language="javascript" src="/Shared%20Documents/jquery.min1.3.js" type="text/javascript"></script><script language="javascript" type="text/javascript">
$(document).ready(function(){
$('#ctl00_m_g_c6138c76_4b3c_471a_8d5f_06776e162522_ctl00_ctl05_ctl01_ctl00_ctl00_ctl04_ctl00_Lookup').change(function(){
var txt= $('#ctl00_m_g_c6138c76_4b3c_471a_8d5f_06776e162522_ctl00_ctl05_ctl01_ctl00_ctl00_ctl04_ctl00_Lookup option:selected').text();