根据文本值禁用下拉列

时间:2012-05-08 13:45:47

标签: jquery jquery-ui sharepoint sharepoint-2010 sharepoint-designer

我正在使用SharePoint 2010表单库。

我有一个下拉列,它依赖于文本输入列值。

Text input列中的值来自infopath表单。

我想要的是: -

假设文本列值为“AU”,则禁用“下拉列”,否则启用它。

我想在Sharepoint表单库编辑页面(Editpage.aspx)中对此进行编码。

我认为可以使用Jquery。

任何帮助/建议都将受到高度赞赏。

- 更新:

这是我在Sharepoint编辑页面中使用的代码:

<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>

但它不起作用!简而言之,我想要的是当text列(Test Value)值为空时,应禁用Choice列(Test_Status),反之亦然。有关参考,请参阅下图: enter image description here

enter image description here

2 个答案:

答案 0 :(得分:1)

尝试:

$(document).ready(function() { 
    if ($("input[title='Test Value']").val()) { 
        $("select[title='Test_Status']").attr('disabled', 'disabled'); 
    } 
    else { 
        $("select[title='Test_Status']").removeAttr('disabled'); 
    } 
}); 

答案 1 :(得分:0)

我已经解决了这个问题:

下面是Javascript的源代码,附带代码。

SRC = “http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js”

将此所有代码写入javasrcipt标记

$(document).ready(function(){

// add change handler
$("input[title='Test Value']").change(function() {
    MasterSelectChange();
});
// call the change function to set up form for first display:
MasterSelectChange();

});

功能MasterSelectChange()

{

var thisVal =  $("input[title='Test Value']").val();

if(thisVal == "AU")
{
  $("select[title='Test_Status']").closest("tr").hide();

    }
else
{
      $("select[title='Test_Status']").show();

}

}