Jquery 基于文本值禁用下拉列
我正在使用SharePoint 2010表单库 我有一个下拉列,它依赖于文本输入列的值 文本输入列中的值来自infopath表单 我想要的是:- 假设文本列值为“AU”,则禁用下拉列,否则启用它 我想在Sharepoint表单库编辑页面(Editpage.aspx)中对此进行编码 我认为使用Jquery是可能的 如有任何帮助/建议,将不胜感激 -- 更新: 这是我在Sharepoint编辑页面中使用的代码:Jquery 基于文本值禁用下拉列,jquery,jquery-ui,sharepoint,sharepoint-2010,sharepoint-designer,Jquery,Jquery Ui,Sharepoint,Sharepoint 2010,Sharepoint Designer,我正在使用SharePoint 2010表单库 我有一个下拉列,它依赖于文本输入列的值 文本输入列中的值来自infopath表单 我想要的是:- 假设文本列值为“AU”,则禁用下拉列,否则启用它 我想在Sharepoint表单库编辑页面(Editpage.aspx)中对此进行编码 我认为使用Jquery是可能的 如有任何帮助/建议,将不胜感激 -- 更新: 这是我在Sharepoint编辑页面中使用的代码: <script type="text/javascript" src="/Site
<script type="text/javascript" src="/SiteAssets/jquery-1.6.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
if ($("#Test Value").val() != null) {
$("Select[Title='Test_Status']").attr('disabled', 'disabled');
}
});
</script>
$(文档).ready(函数(){
如果($(“#测试值”).val()!=null){
$(“选择[Title='Test_Status']”)attr('disabled','disabled');
}
});
但它不起作用!简而言之,我想要的是,当文本列(测试值)值为空时,则应禁用选项列(测试状态),反之亦然。有关参考信息,请参见下图:
试试:
尝试:
我已经解决了这个问题: 下面是Javascript的源代码,将其与代码一起附加 src=”http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" 在javasrcipt标记中编写所有代码 $(文档).ready(函数(){ })) 函数MasterSelectChange() {
}我已经解决了这个问题: 下面是Javascript的源代码,将其与代码一起附加 src=”http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" 在javasrcipt标记中编写所有代码 $(文档).ready(函数(){ })) 函数MasterSelectChange() {
}jQuery是一个很好的解决方案。你的问题是什么?您需要jQuery的帮助吗?或者帮助将jQuery放到页面上?请具体描述您尝试过的内容。谢谢您的回复。。。!!这是我在Sharepoint编辑页面中使用的代码:$(document).ready(function(){if($(“#Test Value”).val()!=null){$(“Select[Title='Test#Status']]).attr('disabled','disabled');});但是“它不起作用了……”。。。。!!我试过很多次了。。。!!简而言之,我想要的是,当文本列(测试值)值为空时,选择列(测试状态)应被禁用,反之亦然。。。!!基山。不需要所有的双感叹号和标点符号??等等-这会让你的文本难以阅读。好的,当然@Ryan。感谢您的建议。jQuery是一个很好的解决方案。你的问题是什么?您需要jQuery的帮助吗?或者帮助将jQuery放到页面上?请具体描述您尝试过的内容。谢谢您的回复。。。!!这是我在Sharepoint编辑页面中使用的代码:$(document).ready(function(){if($(“#Test Value”).val()!=null){$(“Select[Title='Test#Status']]).attr('disabled','disabled');});但是“它不起作用了……”。。。。!!我试过很多次了。。。!!简而言之,我想要的是,当文本列(测试值)值为空时,选择列(测试状态)应被禁用,反之亦然。。。!!基山。不需要所有的双感叹号和标点符号??等等-这会让你的文本难以阅读。好的,当然@Ryan。谢谢你的建议。再次感谢。。!!我已经试过了,但只有解散的条件有效。当我打开表单时,Test_Status列被禁用。反之亦然,它不会被启用。。!!为了您的参考,我添加了一个图像。。。!!请看一下。。。!!试试我的更新代码。val()应返回空字符串,而不是null。而且,真的,这个条件是不必要的,所以你可以把它全部去掉。谢谢你的回复@Rich Bennema。。。!!我已经按照你的建议尝试了更新的代码,但它不起作用。。!!你能推荐其他方法吗?再次感谢。。!!我已经试过了,但只有解散的条件有效。当我打开表单时,Test_Status列被禁用。反之亦然,它不会被启用。。!!为了您的参考,我添加了一个图像。。。!!请看一下。。。!!试试我的更新代码。val()应返回空字符串,而不是null。而且,真的,这个条件是不必要的,所以你可以把它全部去掉。谢谢你的回复@Rich Bennema。。。!!我已经按照你的建议尝试了更新的代码,但它不起作用。。!!你能推荐其他方法吗?
$(document).ready(function() {
if ($("input[title='Test Value']").val()) {
$("select[title='Test_Status']").attr('disabled', 'disabled');
}
else {
$("select[title='Test_Status']").removeAttr('disabled');
}
});
// add change handler
$("input[title='Test Value']").change(function() {
MasterSelectChange();
});
// call the change function to set up form for first display:
MasterSelectChange();
var thisVal = $("input[title='Test Value']").val();
if(thisVal == "AU")
{
$("select[title='Test_Status']").closest("tr").hide();
}
else
{
$("select[title='Test_Status']").show();
}