2011-06-22 14 views
2

私はmoss 2007を使用しています.3つのオプションがあります。オプション1とオプション2を選択した場合は、ドロップダウンとピッカーを無効にする必要があり、オプション3を選択した場合は、ドロップダウンとピッカーの列を有効にする必要があります。私はページソースコードを提供しました。誰かがjqueryを初心者にしているので、コーディングでこれを手伝ってくれましたか?ドロップダウンのオプションが共有ポイントで選択されているときにドロップダウンと人の選択を無効にするjqueryコードが必要

<TR> 
      <TD nowrap="true" valign="top" width="190px" class="ms-formlabel"><H3 class="ms-standardheader"> 
      <nobr>Type of Notification</nobr> 
     </H3></TD> 
      <TD valign="top" class="ms-formbody" width="400px"> 
      <!-- FieldName="Type of Notification" 
       FieldInternalName="Type_x0020_of_x0020_Notification" 
       FieldType="SPFieldChoice" 
       --> 
       <span dir="none"><select name="ctl00$m$g_785c653c_cfa1_4aa5_8060_a84901274cc3$ctl00$ctl04$ctl07$ctl00$ctl00$ctl04$ctl00$DropDownChoice" id="ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl07_ctl00_ctl00_ctl04_ctl00_DropDownChoice" title="Type of Notification" class="ms-RadioText"> 
     <option selected="selected" value="Select One">Select One</option> 

     <option value="Option1">Option1</option> 
     <option value="Option2">Option2</option> 
        <option value="Option3">Option3</option> 

    </select><br></span></TD></TR> 
<TR> 
     <TD nowrap="true" valign="top" width="190px" class="ms-formlabel"><H3 class="ms-standardheader"> 
     <nobr>Functional Team</nobr> 
    </H3></TD> 
     <TD valign="top" class="ms-formbody" width="400px"> 
     <!-- FieldName="Functional Team" 
      FieldInternalName="Mytest" 
      FieldType="SPFieldCascadingDropDownListFieldWithFilter" 
      --> 
      <span dir="none"> 
     <select name="ctl00$m$g_785c653c_cfa1_4aa5_8060_a84901274cc3$ctl00$ctl04$ctl16$ctl00$ctl00$ctl04$ctl00$ctl00$Functional Team" onchange="javascript:setTimeout('WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$m$g_785c653c_cfa1_4aa5_8060_a84901274cc3$ctl00$ctl04$ctl16$ctl00$ctl00$ctl04$ctl00$ctl00$Functional Team&quot;, &quot;&quot;, true, &quot;&quot;, &quot;&quot;, false, true))', 0)" id="ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl16_ctl00_ctl00_ctl04_ctl00_ctl00_Functional Team" title="Functional Team Parent" class="ms-input"> 
    <option selected="selected" value="">Please select an Item</option> 
    <option value="Test">Test</option> 
    <option value="Other">Other</option> 
</select></span></TD></TR> 
<TR> 
     <TD nowrap="true" valign="top" width="190px" class="ms-formlabel"><H3 class="ms-standardheader"> 
     <nobr>Therapeutic Area</nobr> 
    </H3></TD> 
     <TD valign="top" class="ms-formbody" width="400px"> 
     <!-- FieldName="Therapeutic Area" 
      FieldInternalName="Therapeutic_x0020_Area" 
      FieldType="SPFieldChoice" 
      --> 
      <span dir="none"><select name="ctl00$m$g_785c653c_cfa1_4aa5_8060_a84901274cc3$ctl00$ctl04$ctl17$ctl00$ctl00$ctl04$ctl00$DropDownChoice" id="ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl17_ctl00_ctl00_ctl04_ctl00_DropDownChoice" title="Therapeutic Area" class="ms-RadioText"> 
    <option selected="selected" value="Select One">Select One</option> 
    <option value="Anti-Infective">Anti-Infective</option> 
    <option value="Other">Other</option> 
</select><br></span></TD> </TR> 

<TR> 
     <TD nowrap="true" valign="top" width="190px" class="ms-formlabel"><H3 class="ms-standardheader"> 
     <nobr>Admin Name</nobr> 
    </H3></TD> 
     <TD valign="top" class="ms-formbody" width="400px"> 
     <!-- FieldName="Admin Name" 
      FieldInternalName="Admin_x0020_Name" 
      FieldType="SPFieldUser" 
      --> 
      <span dir="none"> 
     <input name="ctl00$m$g_785c653c_cfa1_4aa5_8060_a84901274cc3$ctl00$ctl04$ctl20$ctl00$ctl00$ctl04$ctl00$ctl00$HiddenUserFieldValue" type="hidden" id="ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl20_ctl00_ctl00_ctl04_ctl00_ctl00_HiddenUserFieldValue" /> 
     <span id="ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl20_ctl00_ctl00_ctl04_ctl00_ctl00_UserField" class="ms-usereditor" NoMatchesText="&lt;No Matching Names>" MoreItemsText="More Names..." RemoveText="Remove" value="" allowEmpty="1" ShowEntityDisplayTextInTextBox="0" EEAfterCallbackClientScript=""><input name="ctl00$m$g_785c653c_cfa1_4aa5_8060_a84901274cc3$ctl00$ctl04$ctl20$ctl00$ctl00$ctl04$ctl00$ctl00$UserField$hiddenSpanData" type="hidden" id="ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl20_ctl00_ctl00_ctl04_ctl00_ctl00_UserField_hiddenSpanData" /><input name="ctl00$m$g_785c653c_cfa1_4aa5_8060_a84901274cc3$ctl00$ctl04$ctl20$ctl00$ctl00$ctl04$ctl00$ctl00$UserField$OriginalEntities" type="hidden" id="ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl20_ctl00_ctl00_ctl04_ctl00_ctl00_UserField_OriginalEntities" value="&lt;Entities />" /><input name="ctl00$m$g_785c653c_cfa1_4aa5_8060_a84901274cc3$ctl00$ctl04$ctl20$ctl00$ctl00$ctl04$ctl00$ctl00$UserField$HiddenEntityKey" type="hidden" id="ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl20_ctl00_ctl00_ctl04_ctl00_ctl00_UserField_HiddenEntityKey" /><input name="ctl00$m$g_785c653c_cfa1_4aa5_8060_a84901274cc3$ctl00$ctl04$ctl20$ctl00$ctl00$ctl04$ctl00$ctl00$UserField$HiddenEntityDisplayText" type="hidden" id="ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl20_ctl00_ctl00_ctl04_ctl00_ctl00_UserField_HiddenEntityDisplayText" /><table id="ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl20_ctl00_ctl00_ctl04_ctl00_ctl00_UserField_OuterTable" class="ms-usereditor" cellspacing="0" cellpadding="0" border="0" style="border-collapse:collapse;"> 
    <tr valign="bottom"> 
     <td valign="top" style="width:90%;"><table cellpadding="0" cellspacing="0" border="0" style="width:100%;table-layout:fixed;"> 
      <tr> 
       <td><div id="ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl20_ctl00_ctl00_ctl04_ctl00_ctl00_UserField_upLevelDiv" TabIndex="0" onFocusIn="this._fFocus=1;saveOldEntities('ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl20_ctl00_ctl00_ctl04_ctl00_ctl00_UserField_upLevelDiv')" onClick="onClickRw(true, true);" onChange="updateControlValue('ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl20_ctl00_ctl00_ctl04_ctl00_ctl00_UserField')" onFocusOut="this._fFocus=0;" onPaste="dopaste();" AutoPostBack="0" class="ms-inputuserfield" onDragStart="canEvt(event);" onKeyup="return onKeyUpRw('ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl20_ctl00_ctl00_ctl04_ctl00_ctl00_UserField');" onCopy="docopy();" onBlur="updateControlValue('ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl20_ctl00_ctl00_ctl04_ctl00_ctl00_UserField')" Title="People Picker" onKeyDown="return onKeyDownRw(this, 'ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl20_ctl00_ctl00_ctl04_ctl00_ctl00_UserField', 3, true, event);" contentEditable="true" style="width: 100%; word-wrap: break-work;overflow-x: hidden; background-color: window; color: windowtext;" name="upLevelDiv"></div><textarea name="ctl00$m$g_785c653c_cfa1_4aa5_8060_a84901274cc3$ctl00$ctl04$ctl20$ctl00$ctl00$ctl04$ctl00$ctl00$UserField$downlevelTextBox" rows="1" cols="20" id="ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl20_ctl00_ctl00_ctl04_ctl00_ctl00_UserField_downlevelTextBox" class="ms-input" onKeyDown="return onKeyDownRw(this, 'ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl20_ctl00_ctl00_ctl04_ctl00_ctl00_UserField', 3, true, event);" onKeyUp="onKeyUpRw('ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl20_ctl00_ctl00_ctl04_ctl00_ctl00_UserField');" Title="People Picker" AutoPostBack="0" style="width:100%;display: none;position: absolute; "></textarea></td> 
      </tr> 
     </table></td><td align="right" valign="top" nowrap="true" style="padding-left:5px;"><a id="ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl20_ctl00_ctl00_ctl04_ctl00_ctl00_UserField_checkNames" title="Check Names" onclick="var arg=getUplevel('ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl20_ctl00_ctl00_ctl04_ctl00_ctl00_UserField');var ctx='ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl20_ctl00_ctl00_ctl04_ctl00_ctl00_UserField';EntityEditorSetWaitCursor(ctx);WebForm_DoCallback('ctl00$m$g_785c653c_cfa1_4aa5_8060_a84901274cc3$ctl00$ctl04$ctl20$ctl00$ctl00$ctl04$ctl00$ctl00$UserField',arg,EntityEditorHandleCheckNameResult,ctx,EntityEditorHandleCheckNameError,true);return false;" href="javascript:"><img title="Check Names" src="/_layouts/images/checknames.gif" alt="Check Names" style="border-width:0px;" /></a>&nbsp;<a id="ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl20_ctl00_ctl00_ctl04_ctl00_ctl00_UserField_browse" accesskey="B" title="Browse" onclick="__Dialog__ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl20_ctl00_ctl00_ctl04_ctl00_ctl00_UserField(); return false;" href="javascript:"><img title="Browse" src="/_layouts/images/addressbook.gif" alt="Browse" style="border-width:0px;" /></a></td> 
    </tr><tr> 
     <td colspan="3"><span id="ctl00_m_g_785c653c_cfa1_4aa5_8060_a84901274cc3_ctl00_ctl04_ctl20_ctl00_ctl00_ctl04_ctl00_ctl00_UserField_errorLabel" class="ms-error"></span></td> 
    </tr> 
</table></span> 
    </span> 


     </TD> 
    </TR> 
+0

あなたのコードを再現[JSフィドルデモ](http://jsfiddle.net/)を投稿できます/状況? –

答えて

2

あなたのピッカーを無効にする方法がわかりません(あなたのHTMLからは見えませんでした)。しかし、これはドロップダウンを処理します。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" ></script> 
<script type="text/javascript"> 
    $(function(){ 
     $('select[title="Type of Notification"]').change(function(){ 
      if($(this).val() == "Option1" || $(this).val() == "Option2") 
      { 
       $('select').not(this).attr('disabled', 'disabled'); 
      }else if($(this).val() == "Option3"){ 
       $('select').not(this).removeAttr('disabled'); 
      } 
     }); 
    }); 
</script> 
+2

PeopleEditorはSharepoint .NETコントロールです。それは4つの入力、textarea、contentEditable div、いくつかのイメージボタンのようなhtmlの大きな巨大な混乱です。すべてはカップルテーブルとスパンに包まれています...それは楽しいことではありません。 –

+0

@kingjiv - このコードはNASTYであるため、このようには見えません!私は115文字以上の入力名が必要な理由を想像できません!すべてのCAPS htmlノードはもちろん... –

1

PeopleEditorはかなり複雑で迷惑です。あなたがそれを無効にするために対処する必要がある複数のコンポーネントがあります。 IEでは、あなたが入力できる主な入力であるcontentEditabledivがあります。また、あなたは対処するonclickの画像ボタンを持っています。 IE以外のブラウザでは、textareaが使われていると思います。

あなたが(未テスト、あなたはそれを微調整する必要があるかもしれません)このような何かをする必要があります。

$("span[id$='_UserField']").find(":input").val("").attr("disabled",true); 

上記は(textarea含む)コントロールで使用されるすべての入力フィールドをクリアし、無効になります。

次に、コンテンツ編集可能なdivに対処する必要があります。 、

$("div[id$='_UserField_upLevelDiv']").text("").attr("contentEditable",false); 

そして最後に画像を:あなたはdisableそれか、あなたがそうのようなcontentEditableプロパティを変更する必要がある場合することができます場合、私はわかりませんよ。画像はaタグで囲まれ、onclickが付いています。私の提案は次のようにそれらを隠すことです:

$("span[id$='_UserField']").find("img").hide(); 

希望するものがあります。あなたがそれを取り除くことができれば、全体を隠すほうがはるかに簡単です。

+1

+1、人のピッカーは悪夢です。私は助けるかもしれない[関連する投稿](http://stackoverflow.com/questions/4157386/retrieve-email-address-from-sharepoint-people-picker-using-javascript/4158850#4158850)を持っています。 –

0

もう1つのオプションは、SPUtility.jsです(完全公開、私はこのオープンソースライブラリを維持しています)。 Prototype.jsに依存しているので、jQueryを使用しているので興味がないかもしれません。

それは隠しおよび/または人々ピッカーを含む。..多くの異なるフィールドタイプを無効にすることをサポートしています。

// make a people field read only 
SPUtility.GetSPField('Assigned To').MakeReadOnly(); 
// hide the people field 
SPUtility.GetSPField('Assigned To').Hide(); 
関連する問題