0

ライブラリのすべてのファイルとPDF Previewを含むListbox (DropDown)を使用して Page を作成する必要があります。

HTML フォーム Web パーツを使用してページを作成しました。プレビューは次のように作成できます。

<embed height="800" width="1200" src="..." type="application/pdf">

ライブラリのすべてのアイテムを含むリストボックスを提供し、ソースを から選択したアイテムに変更するにはどうすればよいですか?

4

1 に答える 1

0

わかった..

HTML Form Web Partで新しい Page を作成し、Javascript でこれを取得しました。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script type="text/javascript">
var siteUrl = '/XX';
var listName = 'YY';
var listItems;
function retrieveAllListProperties() {
    var clientContext = new SP.ClientContext(siteUrl);
    var oList = clientContext.get_web().get_lists().getByTitle(listName);

    var query = new SP.CamlQuery();
    query.set_viewXml("<View Scope='RecursiveAll'><Query><OrderBy><FieldRef Name='FileLeafRef' Ascending='True' /></OrderBy></Query></View>");
    listItems = oList.getItems(query);
    clientContext.load(listItems);
    clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}

function onQuerySucceeded() {
    var listEnumerator = listItems.getEnumerator();
    $('#select').find('option').remove().end().append('<option value="">Please select</option>');
    while (listEnumerator.moveNext()) {
        var listItem = listEnumerator.get_current();
        $('#select').append('<option value="http://host' + listItem.get_item('FileRef') + '">' + listItem.get_item('FileLeafRef') + '</option>');
    }
}

function onQueryFailed(sender, args) {
    alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}

$(this).ready(function() {
    ExecuteOrDelayUntilScriptLoaded(retrieveAllListProperties, "sp.js");

    $('#etiketten').change(function() {
        $('#pdf').remove();
        if($('#select').val() != '') {
            $('#container').append('<embed name="pdf" id="pdf" height="768" width="1024" src="' + $('#select').val() + '" type="application/pdf">');
        }
    });
});
</script>

<div id="container" name="container">
<select name="select" id="select">
<option value="">Please select</option>
</select>
<br/>
</div>
于 2012-08-28T06:56:11.007 に答える