RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-491068

Егор's questions

Martin Hope
Егор
Asked: 2022-09-09 13:50:34 +0000 UTC

建立一个循环怎么样?

  • 0

我有一个这样的数组

Array
  (
      [0] => Array
          (
              [ID] => 417
              [FIELD_ID] => 79
              [QUESTION_ID] => 79
              [TIMESTAMP_X] => 09.09.2022 15:10:04
              [MESSAGE] =>  
              [VALUE] => 
              [FIELD_TYPE] => text
              [FIELD_WIDTH] => 0
              [FIELD_HEIGHT] => 0
              [FIELD_PARAM] => 
              [C_SORT] => 100
              [ACTIVE] => Y
          )

      [1] => Array
          (
              [ID] => 418
              [FIELD_ID] => 79
              [QUESTION_ID] => 79
              [TIMESTAMP_X] => 09.09.2022 15:10:04
              [MESSAGE] =>  
              [VALUE] => 
              [FIELD_TYPE] => text
              [FIELD_WIDTH] => 0
              [FIELD_HEIGHT] => 0
              [FIELD_PARAM] => 
              [C_SORT] => 200
              [ACTIVE] => Y
          )

      [2] => Array
          (
              [ID] => 419
              [FIELD_ID] => 79
              [QUESTION_ID] => 79
              [TIMESTAMP_X] => 09.09.2022 15:10:04
              [MESSAGE] =>  
              [VALUE] => 
              [FIELD_TYPE] => text
              [FIELD_WIDTH] => 0
              [FIELD_HEIGHT] => 0
              [FIELD_PARAM] => 
              [C_SORT] => 300
              [ACTIVE] => Y
          )

      [3] => Array
          (
              [ID] => 420
              [FIELD_ID] => 79
              [QUESTION_ID] => 79
              [TIMESTAMP_X] => 09.09.2022 15:10:04
              [MESSAGE] =>  
              [VALUE] => 
              [FIELD_TYPE] => text
              [FIELD_WIDTH] => 0
              [FIELD_HEIGHT] => 0
              [FIELD_PARAM] => 
              [C_SORT] => 400
              [ACTIVE] => Y
          )

      [4] => Array
          (
              [ID] => 421
              [FIELD_ID] => 79
              [QUESTION_ID] => 79
              [TIMESTAMP_X] => 09.09.2022 15:10:04
              [MESSAGE] =>  
              [VALUE] => 
              [FIELD_TYPE] => text
              [FIELD_WIDTH] => 0
              [FIELD_HEIGHT] => 0
              [FIELD_PARAM] => 
              [C_SORT] => 500
              [ACTIVE] => Y
          )

      [5] => Array
          (
              [ID] => 422
              [FIELD_ID] => 79
              [QUESTION_ID] => 79
              [TIMESTAMP_X] => 09.09.2022 15:10:04
              [MESSAGE] =>  
              [VALUE] => 
              [FIELD_TYPE] => text
              [FIELD_WIDTH] => 0
              [FIELD_HEIGHT] => 0
              [FIELD_PARAM] => 
              [C_SORT] => 600
              [ACTIVE] => Y
          )

      [6] => Array
          (
              [ID] => 423
              [FIELD_ID] => 79
              [QUESTION_ID] => 79
              [TIMESTAMP_X] => 09.09.2022 15:10:04
              [MESSAGE] =>  
              [VALUE] => 
              [FIELD_TYPE] => text
              [FIELD_WIDTH] => 0
              [FIELD_HEIGHT] => 0
              [FIELD_PARAM] => 
              [C_SORT] => 700
              [ACTIVE] => Y
          )

      [7] => Array
          (
              [ID] => 424
              [FIELD_ID] => 79
              [QUESTION_ID] => 79
              [TIMESTAMP_X] => 09.09.2022 15:10:04
              [MESSAGE] =>  
              [VALUE] => 
              [FIELD_TYPE] => text
              [FIELD_WIDTH] => 0
              [FIELD_HEIGHT] => 0
              [FIELD_PARAM] => 
              [C_SORT] => 800
              [ACTIVE] => Y
          )

      [8] => Array
          (
              [ID] => 425
              [FIELD_ID] => 79
              [QUESTION_ID] => 79
              [TIMESTAMP_X] => 09.09.2022 15:10:04
              [MESSAGE] =>   
              [VALUE] => 
              [FIELD_TYPE] => text
              [FIELD_WIDTH] => 0
              [FIELD_HEIGHT] => 0
              [FIELD_PARAM] => 
              [C_SORT] => 900
              [ACTIVE] => Y
          )

      [9] => Array
          (
              [ID] => 426
              [FIELD_ID] => 79
              [QUESTION_ID] => 79
              [TIMESTAMP_X] => 09.09.2022 15:10:04
              [MESSAGE] =>  
              [VALUE] => 
              [FIELD_TYPE] => text
              [FIELD_WIDTH] => 0
              [FIELD_HEIGHT] => 0
              [FIELD_PARAM] => 
              [C_SORT] => 1000
              [ACTIVE] => Y
          )

      [10] => Array
          (
              [ID] => 427
              [FIELD_ID] => 79
              [QUESTION_ID] => 79
              [TIMESTAMP_X] => 09.09.2022 15:10:04
              [MESSAGE] =>  
              [VALUE] => 
              [FIELD_TYPE] => text
              [FIELD_WIDTH] => 0
              [FIELD_HEIGHT] => 0
              [FIELD_PARAM] => 
              [C_SORT] => 1100
              [ACTIVE] => Y
          )

我想从它的每一行中获取一个表,其中应该有五个 [ID] 元素:

<tr>417 418 420 421 422</tr>
<tr>423 424 425 426 427</tr>

我这样做:

<?
$array = array_chunk($arResult["QUESTIONS"]["q18"]["STRUCTURE"], 5, true); 
            foreach ($array as $key => $arAnswer)
            {
            ?>
            <tr> 
            
            <?print_r ($arAnswer["ID"]);?>
             
 
            </tr>
            <?
            } ?>

但这不是 ID 的显示方式,据我了解,因为首先您需要指定循环遍历数组的键

如果您在没有 ID 的情况下提款:

<?print_r ($arAnswer["ID"]);?>

这就是它给出的:

<tr> 
            
            Array
(
    [0] => Array
        (
            [ID] => 164
            [FIELD_ID] => 79
            [QUESTION_ID] => 79
            [TIMESTAMP_X] => 09.09.2022 15:10:04
            [MESSAGE] =>  
            [VALUE] => 
            [FIELD_TYPE] => text
            [FIELD_WIDTH] => 0
            [FIELD_HEIGHT] => 0
            [FIELD_PARAM] => 
            [C_SORT] => 100
            [ACTIVE] => Y
        )

    [1] => Array
        (
            [ID] => 418
            [FIELD_ID] => 79
            [QUESTION_ID] => 79
            [TIMESTAMP_X] => 09.09.2022 15:10:04
            [MESSAGE] =>  
            [VALUE] => 
            [FIELD_TYPE] => text
            [FIELD_WIDTH] => 0
            [FIELD_HEIGHT] => 0
            [FIELD_PARAM] => 
            [C_SORT] => 200
            [ACTIVE] => Y
        )

    [2] => Array
        (
            [ID] => 419
            [FIELD_ID] => 79
            [QUESTION_ID] => 79
            [TIMESTAMP_X] => 09.09.2022 15:10:04
            [MESSAGE] =>  
            [VALUE] => 
            [FIELD_TYPE] => text
            [FIELD_WIDTH] => 0
            [FIELD_HEIGHT] => 0
            [FIELD_PARAM] => 
            [C_SORT] => 300
            [ACTIVE] => Y
        )

    [3] => Array
        (
            [ID] => 420
            [FIELD_ID] => 79
            [QUESTION_ID] => 79
            [TIMESTAMP_X] => 09.09.2022 15:10:04
            [MESSAGE] =>  
            [VALUE] => 
            [FIELD_TYPE] => text
            [FIELD_WIDTH] => 0
            [FIELD_HEIGHT] => 0
            [FIELD_PARAM] => 
            [C_SORT] => 400
            [ACTIVE] => Y
        )

    [4] => Array
        (
            [ID] => 421
            [FIELD_ID] => 79
            [QUESTION_ID] => 79
            [TIMESTAMP_X] => 09.09.2022 15:10:04
            [MESSAGE] =>  
            [VALUE] => 
            [FIELD_TYPE] => text
            [FIELD_WIDTH] => 0
            [FIELD_HEIGHT] => 0
            [FIELD_PARAM] => 
            [C_SORT] => 500
            [ACTIVE] => Y
        )

)
             
 
            </tr>
                        <tr> 
            
            Array
(
    [5] => Array
        (
            [ID] => 422
            [FIELD_ID] => 79
            [QUESTION_ID] => 79
            [TIMESTAMP_X] => 09.09.2022 15:10:04
            [MESSAGE] =>  
            [VALUE] => 
            [FIELD_TYPE] => text
            [FIELD_WIDTH] => 0
            [FIELD_HEIGHT] => 0
            [FIELD_PARAM] => 
            [C_SORT] => 600
            [ACTIVE] => Y
        )

    [6] => Array
        (
            [ID] => 423
            [FIELD_ID] => 79
            [QUESTION_ID] => 79
            [TIMESTAMP_X] => 09.09.2022 15:10:04
            [MESSAGE] =>  
            [VALUE] => 
            [FIELD_TYPE] => text
            [FIELD_WIDTH] => 0
            [FIELD_HEIGHT] => 0
            [FIELD_PARAM] => 
            [C_SORT] => 700
            [ACTIVE] => Y
        )

    [7] => Array
        (
            [ID] => 424
            [FIELD_ID] => 79
            [QUESTION_ID] => 79
            [TIMESTAMP_X] => 09.09.2022 15:10:04
            [MESSAGE] =>  
            [VALUE] => 
            [FIELD_TYPE] => text
            [FIELD_WIDTH] => 0
            [FIELD_HEIGHT] => 0
            [FIELD_PARAM] => 
            [C_SORT] => 800
            [ACTIVE] => Y
        )

    [8] => Array
        (
            [ID] => 425
            [FIELD_ID] => 79
            [QUESTION_ID] => 79
            [TIMESTAMP_X] => 09.09.2022 15:10:04
            [MESSAGE] =>   
            [VALUE] => 
            [FIELD_TYPE] => text
            [FIELD_WIDTH] => 0
            [FIELD_HEIGHT] => 0
            [FIELD_PARAM] => 
            [C_SORT] => 900
            [ACTIVE] => Y
        )

    [9] => Array
        (
            [ID] => 426
            [FIELD_ID] => 79
            [QUESTION_ID] => 79
            [TIMESTAMP_X] => 09.09.2022 15:10:04
            [MESSAGE] =>  
            [VALUE] => 
            [FIELD_TYPE] => text
            [FIELD_WIDTH] => 0
            [FIELD_HEIGHT] => 0
            [FIELD_PARAM] => 
            [C_SORT] => 1000
            [ACTIVE] => Y
        )

)
             
            </tr>

也就是说,您需要以某种方式指定它将准确地从第一个数组的每个元素中获取 ID,但我不知道如何做到这一点,我试图在那里添加另一个循环,然后我更加困惑

php
  • 0 个回答
  • 0 Views
Martin Hope
Егор
Asked: 2022-09-08 08:48:20 +0000 UTC

如果输入为空则隐藏元素

  • 0

可能是个奇怪的问题,但是我需要做的是,当四个输入中的一个被填充时,显示一个还有四个的块,我通过 JS 实现了这个,但后来发现这种方法并不完全正确,因为如果所有 4 个字段都已填写,并且从输入开始的字段中删除文本,则下一个块消失,但它必须保留到至少一个字段中至少有一个字符,如果有在任何字段中都没有字符,那么您已经可以消失)))

如何实施?

$('input[name="form_text_163"], input[name="form_text_219"], input[name="form_text_220"], input[name="form_text_221"]').on('keyup',function(){
        var $this = $(this),
      val = $this.val();
  
        if(val.length >= 1){
            $('.stroka-2').show(100);
        }else {
            $('.stroka-2').hide(100);
        }
    });
.tabl-stroka {
        display: flex;
        width: 100%;
    
    }

    .tabl-1 input {
        width: 20%;
    }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="tabl-stroka stroka-1">
                    <input type="text" class="inputtext" name="form_text_163" value="" size="0"><br>
                    <input type="text" class="inputtext" name="form_text_219" value="" size="0"><br>
                    <input type="text" class="inputtext" name="form_text_220" value="" size="0"><br>
                    <input type="text" class="inputtext" name="form_text_221" value="" size="0"><br>
                </div>
                    
                <div class="tabl-stroka stroka-2" style="display: none;">
                    <input type="text" class="inputtext" name="form_text_222" value="" size="0"><br>
                    <input type="text" class="inputtext" name="form_text_223" value="" size="0"><br>
                    <input type="text" class="inputtext" name="form_text_224" value="" size="0"><br>
                    <input type="text" class="inputtext" name="form_text_225" value="" size="0"><br>
                </div>

javascript
  • 0 个回答
  • 0 Views
Martin Hope
Егор
Asked: 2022-08-07 12:03:40 +0000 UTC

如何显示属性中的文本?

  • 0

如何从输入字段属性输出文本?由于我这样做了,它只正确显示数字,而不是文本显示 NaN(您需要获取 TEXT),我附上了代码,您可以通过单击 + 来查看它显示的内容:

$('body').on('click', 'button.plus, button.minus', function() {

  var qty = $(this).parent().find('input'),

    name = parseInt(qty.attr('qwe'));
    
  console.log(name);


});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="input-number">
  <button type="button" name="valueDown" onclick="stepDown()" class="input-number-down minus">-</button>
  <input class="block" name="kol" type="number" value="13" id="50" qwe="123" min="1" max="50" step="1">
  <button type="button" name="valueUp" onclick="steUp()" class="input-number-up  plus">+</button>
</div>

<div class="input-number">
  <button type="button" name="valueDown" onclick="stepDown()" class="input-number-down minus">-</button>
  <input class="block" name="kol" type="number" value="13" id="50" qwe="Текст" min="1" max="50" step="1">
  <button type="button" name="valueUp" onclick="steUp()" class="input-number-up  plus">+</button>
</div>

javascript html
  • 1 个回答
  • 29 Views
Martin Hope
Егор
Asked: 2022-07-26 18:32:38 +0000 UTC

如何用篮子覆盖数组?

  • 0

我制作了一个购物车,从数组中获取 id 值、价格、数量、产品类型和名称。

篮子本身的布局看起来像这样:

$( 'body' ).on( 'click', 'button.plus, button.minus', function() {
 
        var qty = $(this).parent().find( 'input' ),
            val = parseInt( qty.val() ),
            min = parseInt( qty.attr( 'min' ) ),
            max = parseInt( qty.attr( 'max' ) ),
            step = parseInt( qty.attr( 'step' ) );

        // дальше меняем значение количества в зависимости от нажатия кнопки
        if ( $( this ).is( '.plus' ) ) {
            if ( max && ( max <= val ) ) {
                qty.val( max );
            } else {
                qty.val( val + step );
            }
        } else {
            if ( min && ( min >= val ) ) {
                qty.val( min );
            } else if ( val > 1 ) {
                qty.val( val - step );
            }
        }

        });
.text-success{
  color: #68A4C4!important; 
}

.name_value{
  display: flex;
  justify-content: space-between; 
  font-weight: 700;

}
.spisok_value{ 

}
.position{ 
  display: flex;
  width: 20%; 
  justify-content: center;
}

.id_position{
  width: 90%; 
  display: flex;        
  justify-content: space-between;
}

.input-cart-form {
display: flex;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id=" ">
                            <div class=" ">  
                                <h1 style="text-align: center; margin: 0 0 25px;">Корзина</h1>  
                            </div> 
                            <div class="name_value"> 
                                <div class="position">
                                    <p>Название</p>
                                </div>
                                <div class="position">
                                    <p>Количество</p>
                                </div>
                                <div class="position">
                                    <p>Цена</p>
                                </div>
                                <div class="position">
                                    <p>Сумма</p> 
                                </div>
                            </div> 
                            <div class="spisok_value">    
                                <div class="id_position" id="50">  
                                            <div class="position">
                                                <p>Композиция Нептун</p>
                                            </div>                    
                                            <div class="position">
                                                <div class="input-number">
                                                    <button type="button" class="input-cart-form input-number-down minus">-</button>
                                                    <input class="qty" type="number" value="2" id="50" min="1" max="50" step="1">
                                                    <button type="button" class="input-number-up  plus">+</button>
                                                </div> 
                                            </div>
                                            <div class="position">
                                                <input id="price" class="input-cart-form" value="2000">  
                                            </div>
                                            <div class="position">
                                                <input class="input-cart-form" id="summ-cart" value="4000">
                                            </div>
                                        </div><div class="id_position" id="49">  
                                            <div class="position">
                                                <p>Букет Уран</p>
                                            </div>                    
                                            <div class="position">
                                                <div class="input-number">
                                                    <button type="button" class="input-cart-form input-number-down minus">-</button>
                                                    <input class="qty" type="number" value="1" id="49" min="1" max="50" step="1">
                                                    <button type="button" class="input-number-up  plus">+</button>
                                                </div> 
                                            </div>
                                            <div class="position">
                                                <input id="price" class="input-cart-form" value="2000">  
                                            </div>
                                            <div class="position">
                                                <input class="input-cart-form" id="summ-cart" value="2000">
                                            </div>
                                        </div><div class="id_position" id="46">  
                                            <div class="position">
                                                <p>Композиция Космический</p>
                                            </div>                    
                                            <div class="position">
                                                <div class="input-number">
                                                    <button type="button" class="input-cart-form input-number-down minus">-</button>
                                                    <input class="qty" type="number" value="5" id="46" min="1" max="50" step="1">
                                                    <button type="button" class="input-number-up  plus">+</button>
                                                </div> 
                                            </div>
                                            <div class="position">
                                                <input id="price" class="input-cart-form" value="5000">  
                                            </div>
                                            <div class="position">
                                                <input class="input-cart-form" id="summ-cart" value="25000">
                                            </div>
                                        </div>                          </div> 
                            <div class="name_value"> 
                                <div class="position">
                                    <p>Итого</p>
                                </div>
                                <div class="position">
                                    <p>
                                    8   
                                    </p>
                                </div>
                                <div class="position">
                                    <p> </p>
                                </div>
                                <div class="position">
                                    <p>31000</p> 
                                </div>
                            </div> 
                    
                        </div>

添加了更改商品数量的按钮,数量会发生变化,但是如何将新的数量值写入数组,只需用特定产品的数量覆盖该值即可。数组如下所示:
Array ( [50] => Array ( [bouquet] => Composition [id] => 50 [name] => Neptune [kol] => 2 [price] => 2000 ) [49] = > Array ( [bouquet] => Bouquet [id] => 49 [name] => Uranus [kol] => 1 [price] => 2000 ) [46] => Array ( [bouquet] => Composition [id] => 46 [名称] => 宇宙 [kol] => 5 [价格] => 5000 ) )

我尝试通过类推商品添加到购物车的方式发送数据,没有成功,甚至错误都没有出现:

$( 'body' ).on( 'click', '[name="update_cart"]', function() {
     

        var kol = document.getElementById('qty').value; //Получаем количество из поле ввода
        var id = document.getElementById('.id_position').id; //Получаем ID товара 
        
        var formData = new FormData(); //Создадим объект для передачи данных
        formData.append('id', id); //Добавим переменную с ID товара             
        formData.append('kol', kol); //Добавим переменную с количеством товаров 
        
        //ajax
        var HttpRequest = new XMLHttpRequest(); //Создадим объект для отправки AJAX запроса
        HttpRequest.onload = function (e) {
            if (this.status == 200) { //Проверка что результат отчета успешный (может быть 404 или другие)
                 
                alert('Успешно обновлен'); 
                 
                document.getElementById('chart-value').innerText = this.response; //Записываем цифру в элемент корзины в верстке
            } else {
                alert('Ошибка');
            }
        }; //Функция в которую возвращается ответ от сеовера
        HttpRequest.open("POST", '/cart/', true); //Настройка запроса для отправки (второй параметр путь к PHP скрипту)
        HttpRequest.send(formData); //Отправка запроса на сервер


    } );

我用这样的产品生成了页面:

<div class="spisok_value">    
                            <?
                            $mass = $_SESSION['BX_CART']['ids'];            
                            foreach ($mass as $value) { 
                                $summ = $value[price]*$value[kol];
                                $nametype = $value[bouquet] . " " . $value[name];        
                                echo (
                                    
                                    "<div class='id_position' id='$value[id]'>  
                                        <div class='position'>
                                            <p>$nametype</p>
                                        </div>                    
                                        <div class='position'>
                                            <div class='input-number'>
                                                <button type='button' onclick='stepDown()' class='input-cart-form input-number-down minus' >-</button>
                                                <input  class='qty' type='number' value='$value[kol]' id='$value[id]' min='1' max='50' step='1'>
                                                <button type='button' onclick='steUp()' class='input-number-up  plus'>+</button>
                                            </div> 
                                        </div>
                                        <div class='position'>
                                            <input id='price'   class='input-cart-form' value='$value[price]'>   
                                        </div>
                                        <div   class='position'>
                                            <input class='input-cart-form' id='summ-cart' value='$summ'>
                                        </div>
                                    </div>"   
                                );
                            };?>
                        </div> 

是否有可能在不重新加载页面的情况下以某种方式完成这一切?

javascript php
  • 1 个回答
  • 37 Views
Martin Hope
Егор
Asked: 2022-07-11 07:29:28 +0000 UTC

在 Yandex 地图 API 中选择多个提示提供程序

  • 0

有一个绘制多边形的地图和一个搜索这些多边形的搜索,来自创建的提供者的提示被替换到搜索栏中,如何制作它以便如果您自己的提供者没有找到任何东西,那么“yandex #地图”提供者包含在案例中,那么是否有用地址替代的提示?

示例代码:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!DOCTYPE html>
<html>

<head>
  <title>Многоугольник</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  <script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU&amp;apikey=3261ce08-c60a-4114-96f8-ce820abf124a" type="text/javascript"></script>

  <script type="text/javascript">
    ymaps.ready(init);

    function init() {
      // Создаем список (массив) подсказок
      var podskazki = [

        "ТОС «Виктория»",
        "ТОС «Максимум Света»",

      ];
      // выполняем поиск по подсказкам
      var find = function(podskazki, find) {
        return podskazki.filter(function(value) {
          return (value + "").toLowerCase().indexOf(find.toLowerCase()) != -1;
        });
      };
      // создаем провайдер поиска 
      var myProvider = {
        suggest: function(request, options) {
          var res = find(podskazki, request),
            arrayResult = [5],
            results = Math.min(options.results, res.length);
          for (var i = 0; i < results; i++) {
            arrayResult.push({
              displayName: res[i],
              value: res[i]
            })
          }
          return ymaps.vow.resolve(arrayResult);
        }
      }
      // Создание подсказок в поиске
      var suggestView = new ymaps.SuggestView('poisk', {

        provider: myProvider,
        noSuggestPanel: false,
        boundedBy: [
          [48.61, 134.98],
          [48.31, 135.29]
        ],
        strictBounds: true,
        results: 19

      });

      // поиск по выбору подсказки                 
      suggestView.events.add('select', function() {
        Search()
      })

      // поиск по Enter
      $("#poisk").keyup(function(event) {
        if (event.keyCode == 13) {
          Search()
        }
      });
      // поиск по нажатию "лупы"
      $('.custom-search').click(() => {
        if ($('#poisk').val() != undefined) {
          Search()
        }
      });

      // Непосредственно поиск в панели
      function Search() {
        var request = $('#poisk').val();
        searchControl.search(request);
      }

      // Создание экземпляра карты и его привязка к контейнеру с заданным id ("map")
      var myMap = new ymaps.Map('map', {
          center: [48.48, 135.08],
          zoom: 14,
          controls: ['zoomControl', 'typeSelector', 'fullscreenControl', 'searchControl'] // "Элементы управления (Зум, слои, фулскрин, поиск)

        }, { // Ограничение области карты Хабаровск + загород 
          restrictMapArea: [
            [48.61, 134.98],
            [48.31, 135.29]
          ],
          // Ограничение зума
          minZoom: 10,
          maxZoom: 17
        }),

        // Создание полигонов и добавление их на карту.
        myObjects = ymaps.geoQuery({
          type: "FeatureCollection",
          features: [



            {
              type: 'Feature',
              geometry: {
                type: 'Polygon',
                coordinates: [
                  [
                    [48.4872099152, 135.044750889],
                    [48.4865858624, 135.045233687],
                    [48.4863005786, 135.044150075],
                    [48.4869567290, 135.043726286],
                    [48.4872099152, 135.044750889]
                  ]
                ]

              },
              options: {
                fillColor: '00bfbf', // Цвет заливки
                fillOpacity: 0.45, // Прозрачность заливки
                strokeColor: 'ff007f', // Цвет обводки
                strokeWidth: 2, // Толщина обводки
                strokeOpacity: 0.5, // Прозрачность обводки
                fildColor: "Кировский", // Кластер объекта 
                filtColor: "2020" // Год объекта

              },
              // Содержимое балуна
              properties: {
                balloonContentHeader: '<a href="https://khv27.ru/projects/territorialnoe-obshchestvennoe-samoupravlenie/reestr-tos/index.php?ELEMENT_ID=106497">ТОС «Виктория»</a>', // Заголовок 
                balloonContent: '<b>Председатель: </b>' + 'Савинов Е.А.<br/>' + '<b>Адрес: </b>' + 'ул. Казачья гора, дом 9-7<br/>' + '<b>Район: </b>' + 'Кировский<br/>' + '<b>Дата создания: </b>' + '10 февраля 2020<br/>' + '<b>Реализованные проекты: </b>' + 'НОВЫЙ ДВОР 2021<br/>', // Содержимое
                balloonContentFooter: 'Телефон: </b>' + '409144', // Футер 
                hintContent: "ТОС «Виктория»" // Подсказка объекта
              }
            },




            {
              type: 'Feature',
              geometry: {
                type: 'Polygon',
                coordinates: [
                  [
                    [48.5213356048, 135.106362622],
                    [48.5206620838, 135.107070725],
                    [48.5214817114, 135.108052414],
                    [48.5216670166, 135.107526701],
                    [48.5215850548, 135.106754225],
                    [48.5214638935, 135.106566470],
                    [48.5213356048, 135.106362622]
                  ]
                ]

              },
              options: {
                fillColor: '00bf00', // Цвет заливки
                fillOpacity: 0.45, // Прозрачность заливки
                strokeColor: 'ff007f', // Цвет обводки
                strokeWidth: 2, // Толщина обводки
                strokeOpacity: 0.5, // Прозрачность обводки
                fildColor: "Железнодорожный", // Кластер объекта 
                filtColor: "2020" // Год объекта

              },
              // Содержимое балуна
              properties: {
                balloonContentHeader: '<a href="https://khv27.ru/projects/territorialnoe-obshchestvennoe-samoupravlenie/reestr-tos/index.php?ELEMENT_ID=106500">ТОС «Максимум Света»</a>', // Заголовок 
                balloonContent: '<b>Председатель: </b>' + 'Сергеев М.С.<br/>' + '<b>Адрес: </b>' + 'пер. Краснодарский, дом 19а<br/>' + '<b>Район: </b>' + 'Железнодорожный<br/>' + '<b>Дата создания: </b>' + '11 февраля 2020<br/>' + '<b>Реализованные проекты: </b>' + 'Спортивная площадка<br/>', // Содержимое
                balloonContentFooter: 'Телефон: </b>' + '+7 (4212) 40-91-42', // Футер 
                hintContent: "ТОС «Максимум Света»" // Подсказка объекта
              }
            },
          ]


        }).addToMap(myMap);

      // Создаем коллекцию для поиска по названию объектов
      myCollection = new ymaps.GeoObjectCollection(),

        // Создаем массив с данными.
        myPoints = [

          {
            coords: [48.4872099152, 135.044750889],
            text: 'ТОС «Виктория»'
          },

          {
            coords: [48.5213356048, 135.106362622],
            text: 'ТОС «Максимум Света»'
          },


        ];

      // создание поисковой строки
      searchControl = myMap.controls.get('searchControl');

      // настройка поисковой строки Яндекса
      searchControl.options.set({
        provider: new CustomSearchProvider(myPoints),
        noPlacemark: true,
        placeholderContent: 'Введите адввврес ТОСа',
        boundedBy: [
          [48.61, 134.98],
          [48.31, 135.29]
        ],
        strictBounds: true,
        results: 10, //  требуемое количество результатов 
        resultsPerPage: 5,
        position: {
          left: -400 //  смещение строки поиска
        }
      });


      // Проверим попадание результата поиска в один из ТОСов.
      searchControl.events.add('resultshow', function(e) {
        highlightResult(searchControl.getResultsArray()[e.get('index')]);
      });

      // Сохраняем координаты переданного объекта и находим полигон.
      function highlightResult(obj) {
        // Сохраняем координаты переданного объекта.
        var coords = obj.geometry.getCoordinates(),
          // Находим полигон, в который входят переданные координаты.
          polygon = myObjects.searchContaining(coords).get(0);

        if (polygon) {
          polygon.options.set('fillOpacity', 0.2);
          polygon.balloon.open();
        }
      }

      // Провайдер данных осуществляет поиск геообъектов по массиву points.                        
      function CustomSearchProvider(points) {
        this.points = points;
      }

      // Провайдер ищет по полю text стандартным методом String.ptototype.indexOf.
      CustomSearchProvider.prototype.geocode = function(request, options) {
        var deferred = new ymaps.vow.defer(),
          geoObjects = new ymaps.GeoObjectCollection(),
          // Сколько результатов нужно пропустить.
          offset = options.skip || 0,
          // Количество возвращаемых результатов.
          limit = options.results || 20;

        var points = [];
        // Ищем в свойстве text каждого элемента массива.
        for (var i = 0, l = this.points.length; i < l; i++) {
          var point = this.points[i];
          if (point.text.toLowerCase().indexOf(request.toLowerCase()) != -1) {
            points.push(point);
          }
        }
        // При формировании ответа можно учитывать offset и limit.
        points = points.splice(offset, limit);
        // Добавляем точки в результирующую коллекцию.
        for (var i = 0, l = points.length; i < l; i++) {
          var point = points[i],
            coords = point.coords,
            text = point.text;

          geoObjects.add(new ymaps.Placemark(coords, {
            name: text + '',
            description: text + 'description',
            boundedBy: [coords, coords]
          }));
        }

        deferred.resolve({
          // Геообъекты поисковой выдачи.
          geoObjects: geoObjects,
          // Метаинформация ответа.
          metaData: {
            geocoder: {
              // Строка обработанного запроса.
              request: request,
              // Количество найденных результатов.
              found: geoObjects.getLength(),
              // Количество возвращенных результатов.
              results: limit,
              // Начинает поиск сразу после нажатия Энтер
              skip: offset
            }
          }
        });

        // Возвращаем объект-обещание.
        return deferred.promise();

        searchControl.events.add('load', function(event) { // Проверяем, что это событие не "дозагрузки" результатов и по запросу найден хотя бы один результат.

          if (!event.get('skip') && searchControl.getResultsCount()) {
            searchControl.showResult(0);
          }
        });

      }
    }
  </script>
  <style>
    html,
    body,
    #map {
      width: 100%;
      height: 100%;
      padding: 0;
      margin: 0;
    }
  </style>
</head>

<body>
  <div class="search">
    <input type="text" id="poisk" placeholder="Введите название ТОСа" autocomplete="off" style="margin-right: 0px;">
    <div class="custom-search">
    </div>
  </div>
  <div id="map"></div>
</body>

</html>

javascript yandex-maps-api
  • 1 个回答
  • 54 Views
Martin Hope
Егор
Asked: 2022-08-16 16:13:55 +0000 UTC

带有标记 Radio 的几个块的输出

  • 2

选择一个收音机时如何显示多个块?例如,输入本身位于页面中间的某个位置,当您选择其中一个时,内容应该出现在页面顶部和底部,同时出现在两个位置。我试图这样做,但由于某种原因,它只显示第一个块,但我想要,例如,块 1 和 4 或 2 和 3:

<div class="block-text" id="block-1">
    Блок текста №1
</div>

<div class="block-text" id="block-2">
    Блок текста №2
</div>

<p class="text-center">
    <label><input type="radio" name="radio" value="1"> Radio Button 1</label><br>
    <label><input type="radio" name="radio" value="2"> Radio Button 2</label>
</p>


<div class="block-text2" id="block-2">
    Блок текста №3
</div>

<div class="block-text2" id="block-1">
    Блок текста №4
</div>
  


<style>
  .block-text {
    display: none;
    padding: 15px;
    border: 3px solid #ec4848;
}

.block-text2 {
    display: none;
    padding: 15px;
    border: 3px solid #ec4848;
}
</style>
<script src="https://snipp.ru/cdn/jquery/2.1.1/jquery.min.js"></script>
<script>
  $('input[name="radio"]').click(function(){
      var target = $('#block-' + $(this).val());

      $('.block-text').not(target).hide(0);
      target.fadeIn(500);

  });
  
  $('input[name="radio"]').click(function(){
    var target = $('#block-' + $(this).val());

    $('.block-text2').not(target).hide(0);
    target.fadeIn(500);
   
});
</script>

还是我走错了路?然后呢?

javascript radiobutton
  • 1 个回答
  • 38 Views
Martin Hope
Егор
Asked: 2022-07-04 09:25:58 +0000 UTC

搜索 Yandex 地图时模仿点击地图

  • 0

因此,有一个地图,多边形显示在地图上,当您单击一个多边形时,会显示一个带有该多边形信息的气球: 气球展示示例

地图中还添加了一个搜索,当您输入地址时,它会标记并显示您的 Ballun。 在此处输入图像描述在此处输入图像描述

是否有可能以某种方式使其在多边形区域中找到地址时,显示该多边形的气球(如第一张图片所示),就好像鼠标在那里单击一样?

yandex-maps-api яндекс-карты
  • 2 个回答
  • 102 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5