Как сравнить значение из viewmodel со значением текстового поля в цикле foreach на странице просмотра - PullRequest
0 голосов
/ 09 декабря 2010

На моей странице просмотра я перебираю все категории, взятые из модели, и проверяю с помощью входного значения, и должны ли совпадения отображать это значение в метке.

Мне нужна такая вещь.

<% foreach(var v in Model.Categories)
  {
      if(v.CategoryId== %>

             $("#TextBox1").val()
      <% ) %>
          $("#Label1").val() =  $("#TextBox1").val();

<% } %>

Может кто-нибудь, пожалуйста, помогите мне, как это сделать? Я не знаю, могу ли я использовать javascript рядом с <% foreach (var v в Model.Categories) { if (v.CategoryId ==%> block

1 Ответ

1 голос
/ 09 декабря 2010

Я думаю, твой код не имеет смысла для меня. Поскольку <%%> будет выполняться на стороне сервера, а $ ("#") jquery будет выполняться на стороне клиента. В вашем случае я предполагаю, что ваше представление уже знает значение текстового поля до его ответа клиенту. Вы можете просто поместить значение текстового поля в ViewData [""] и сделать что-то вроде этого:

<% foreach(var v in Model.Categories) {%>
  <% if(v.CategoryId == View["TextboxValue"].ToString()) {%>
    <label><%=View["TextboxValue"].ToString()%></label>
  <% } %>
<% } %>

Кроме того, если вы хотите назначить метку в jQuery, вам следует присвоить $ ("# labelname"). Html ("ваше значение");

Любые вопросы, пожалуйста, дайте мне знать !!

=============================================== ======================================== Ниже мой новый ответ на вопрос. Тогда все, что вам нужно, это чистый клиентский скрипт.

Предположим, у меня есть такой список выбора, который сгенерирован на стороне сервера:

<select id="mylist">
    <option value="1" selected>a</option>
    <option value="2">b</option>
</select>

А также иметь текстовое поле и метку:

<input id="tb" value="" type="textbox" />
<label id="lb"></label>

Что вам нужно сделать, это:

<script type="javascript">
    $(document).ready(function(){
         $("#tb").change(function(){
               if($(this).val()==$("#mylist").val())    
                    $("#lb").html($("#mylist").val();
               //you also can do this by getting .text()
               //while val() = [1,2] , text() = [a,b]
         });
    });
</script>

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...