Aravindba Ответов: 2

Не могу добавить значения в список со стороны клиента.


Как добавить значения в поле списка из клиента (javascript и jquery).

Что я уже пробовал:

Я пробовал и js , и jq, но оба не работали,
мой код в JQ
var value = 'aravind';
var listBox = $("lstProfLstS1");
var option = $("<option />").val(value).html(value);
listBox.append(option);
return false;

мой код в JS
var Val1='aravind';
var opt1 = document.createElement("option");
opt1.innerHTML = Val1.replace(/ /g, "\xA0");
opt1.value = Val1;
document.getElementById("lstProfLstS1").options.add(opt1);


С уважением,
Аравинд

CHill60

"но оба не работают", - что же на самом деле происходит?

Aravindba

ценности не добавляется в ListBox,средства управления ListBox пуст

2 Ответов

Рейтинг:
2

CHill60

Теперь мы знаем, что это элемент управления ASP, см. Комментарий Karthik: "вы не сможете получить добавленные значения на стороне клиента на стороне сервера (Post back)

Однако если вы хотите получить доступ к элементам в коде, то используйте скрытое поле для захвата элементов, добавленных на стороне клиента. Затем вы можете запросить это скрытое поле на стороне сервера.

Edit - я нашел это рабочий пример[^]


Aravindba

да правильно мы получаем значения в скрытых полях.

Рейтинг:
0

Karthik_Mahalingam

Оформите их заказ
Использование JS

<html xmlns="http://www.w3.org/1999/xhtml"> 
<body> 
    <select id="lstProfLstS1" ></select> 
    <script>
        var Val1 = 'aravind';
        var opt1 = document.createElement("option");
        opt1.text = Val1;
        opt1.value = Val1;
        document.getElementById("lstProfLstS1").options.add(opt1); 
    </script>
  
</body>
</html>


Использование JQuery
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="https://code.jquery.com/jquery-3.3.1.min.js" ></script>
    <script>
        $(function () {
            var value = 'aravind';
            var listBox = $("#lstProfLstS1");
            var option = $("<option />").val(value).text(value);
            listBox.append(option); 
        });
    </script>
</head>
<body>
    <select id="lstProfLstS1"></select>
    

</body>
</html>


Aravindba

привет это мой контроль
&ЛТ;АСП:ListBox элемент с ID="lstProfLstS1" ширина="100%" высота="200 пикселей" атрибут runat="сервер"и GT;

Karthik_Mahalingam

если это элемент управления asp, вы не сможете получить добавленные значения на стороне клиента на стороне сервера ( Post back)

Aravindba

привет, мы добавили значение в скрытое поле и использовали на стороне сервера, ниже упоминание CHill60 правильно, нам понравилось that.my проблема в том, что только не отображается в списке при добавлении, но мы можем хранить значения,bcz я храню в скрытом поле.

Karthik_Mahalingam

вы используете masterpage? если да то используйте вот так
документ.метода getElementById('# &ЛТ;%= lstProfLstS1.Идентификатора ClientID %&ГТ;');
обратитесь к этому https://www.dotnetodyssey.com/2014/12/24/get-id-asp-net-server-control-using-javascript-jquery/

Aravindba

нет, я не через Главную страницу,если проблема в получении идентификатора элемента управления, это шоу неопределенная ошибка, но мой код он добавляет значения (документ.метода getElementById("lstProfLstS1").варианты.добавить(параметр1)), а также следующей строке я поставил вернет false также.

Karthik_Mahalingam

хорошо, тогда в чем же проблема ?
тем не менее вы не можете добавить элементы в список с помощью JS ?

Karthik_Mahalingam

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="aaa.aspx.cs" Inherits="aaa" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:ListBox ID="lstProfLstS1" Width="100%" Height="200px" runat="server" >
       
    </asp:ListBox>

    </div>


         <script>
             var Val1 = 'aravind';
             var opt1 = document.createElement("option");
             opt1.text = Val1;
             opt1.value = Val1;
             document.getElementById("lstProfLstS1").options.add(opt1);
    </script>

    </form>
</body>
</html>