簡體   English   中英

如何使用javascript隱藏表單選項

[英]How to hide options of a form with javascript

我有一個特殊的問題。 我正在使用一個主題,該主題使用分類法將用戶帖子分配給用戶委員會。 因此,每個用戶都可以創建自己的董事會,並將自己的帖子分配給一個董事會。 我使用的是wordpress前端上傳器,可以在分類表中添加下拉菜單。 很好

我只有一個問題。 用戶可以在下拉菜單中選擇所有人的面板。

分類結構如下所示:

Parent: User ID 
Child: boardname

所以我的輸出看起來像這樣:

<div class="wpuf-fields wpuf_board_select_123_321">

<select data-required="yes" data-type="select" name='board[]' id='board[]' class='board wpuf_board_123' >
    <option value='-1'>&#8212; Select &#8212;</option>
    <option class="level-0" value="3">1</option>            // value is term ID // Content is User ID // parent
    <option class="level-1" value="17">User Board </option> // value is term ID // Content is Boardname
    <option class="level-1" value="26">User Board</option>  // value is term ID // Content is Boardname
    <option class="level-1" value="106">User Board</option> // value is term ID // Content is Boardname
    <option class="level-1" value="62">User Board</option>  // value is term ID // Content is Boardname
    <option class="level-1" value="148">User Board</option> // value is term ID // Content is Boardname
    <option class="level-0" value="191">10</option>         // value is term ID // Content is User ID // User has no boards
    <option class="level-0" value="193">11</option>         // value is term ID // Content is User ID // User has no boards
    <option class="level-0" value="10">2</option>           // value is term ID // Content is User ID // parent
    <option class="level-1" value="123">User Board</option> // value is term ID // Content is Boardname
    <option class="level-1" value="124">User Board</option> // value is term ID // Content is Boardname
    <option class="level-1" value="192">User Board</option> // value is term ID // Content is Boardname
    <option class="level-1" value="121">User Board</option> // value is term ID // Content is Boardname
    <option class="level-1" value="155">User Board</option> // value is term ID // Content is Boardname
    <option class="level-0" value="226">20</option>         // value is term ID // Content is User ID // User has no boards
</select>

</div>

所以這是我到目前為止所做的:

 $board_parent_id = get_user_meta($user_id, "_Board Parent ID", true);
 $board_children_count = wp_count_terms("board", array( "parent" => $board_parent_id));

我的想法是用javascript添加“隱藏”隱藏不需要的選項。 所以我已經必須有父母的身分證,孩子們的數目和我現在正掙扎着,如何走得更遠。

我希望這里有人可以幫助我找到解決方案。

提前致謝!

我不清楚用戶是否使用wp-admin。 但是,我假設您的問題正在wp-admin中發生。

要使用javascript隱藏,您可以執行以下操作:

// Add to footer on admin a function to exec the scripts
add_action('admin_footer', 'my_custom_scripts');

// The function
function my_custom_scripts() {
    // An array of IDs that must be removed
    $itemsIdsToHide = array("121", "226", "123");

    // Create a string to convert the PHP array to JS array
    $strJavascriptArray = "Array('" . implode("','", $itemsIdsToHide) . "')";
    ?>
    <script>
        // Echoes the javascript array created in PHP
        var arr = <?php echo $strJavascriptArray; ?>;

        // Loop into each item of select.
        // BE SURE TO QUERY ONLY THE SELECT YOU NEED
        jQuery('select>option').each(function() {

            // IF the option ID is in the array to remove, remove the item
            if(arr.indexOf($(this).attr("value")) > -1) {
                $(this).remove();
            }
        });
    </script>
    <?
}

希望能幫助到你 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM