不显示div因为参数(值)传递的行为像一个字符串不div div id

问题描述:

JavaScript中存在一个问题,它不会显示所需的div因为传递的参数是value(AWB的Id),但它的行为类似于字符串的值为不显示div因为参数(值)传递的行为像一个字符串不div div id

View.cshtml

@foreach (var item in Model) 
{ 
<tr> 
    <td>@item.AWBNO 
    </td> 
    <td>@item.AIRLINENAME 
    </td> 
    <td>@item.CARGODATE 
    </td> 
    @foreach (var itema in entity) 
    { 


     if (itema.AWBNo == @item.AWBNO) 
     { 
      Filled = true; 
      DCNo = itema.DCNumber; 
      break; 
     } 
     else 
     { 
      Filled = false; 
     } 
    } 
    <td> 
     @if (!Filled) 
     { 
     @Html.ActionLink(" ", "AddOn", "Section82", new { instanceId = item.AWBId }, new { @class = "AddOn" })     
     } 
     @if (Filled) 
     { 
      <div id = @item.AWBId style="display: none;" > 
       MyTextOnClick</div> 
      <button onclick = "Show(value)" value = @item.AWBId> 
       ClickMe</button>  
     } 
    </td> 
</tr> 
} 

JS:

<script type = "text/javascript"> 
function Show(value) 
{ 
    alert(value); 
    $("#value").show(); // here is the major problem it's not getting id although in alert it showing the right id. 
} 
</script> 

它没有得到DIV的ID显示虽然在警报显示其右AWBId请帮助的主要问题。

+0

显示*浏览器*所看到的HTML是什么。 – 2014-09-19 07:26:36

您需要同时使用以连接值到#它。

function Show(value) 
{ 
    alert(value); 
    $("#"+value).show(); 
} 

编辑:添加代码的评论

HTML:

<button class="some-class-name" value = @item.AWBId> 
    ClickMe 
</button>  

JQuery的:

$('.some-class-name').on('click', function(){ 
    var id = $(this).attr('value'); 
    $("#"+id).show(); 
}); 

由于您使用JQuery,你可以做同样的事情编辑。

+0

我们能否获得个人的身份证而不将其作为参数传递给个人?就像我在函数Show(value)中做的那样有什么办法? – 2014-09-19 07:36:36

+0

@ShahAbdullah,编辑,以配合我的理解你的问题。希望能帮助到你。 – Newtt 2014-09-19 08:35:45

+0

那就是我一直在寻找的谢谢! – 2014-09-19 09:49:44

你需要替换value到字符串:

function Show(value) 
{ 
    alert(value); 
    $("#" + value).show(); 
    // ^^^^^^^^ The + appends the value of `value` to the string 
} 

因此,举例来说,如果value包含“富”,你会拥有"#foo",看起来对于与id"foo"的元素。

一定要按照您的元素CSS rules for the id values,因为这是一个CSS选择器。 (虽然如果它认为它可以,jQuery将使用document.getElementById这意味着它有时可以让一些无效的CSS id选择在那里,说,querySelector或样式表不会。)

+0

克劳德拇指的推理IAM尝试但有没有一种方法来调试视图中的值,并通过MVC视图中的断点?就像我想调查流量一样。 (附加问题) – 2014-09-19 07:34:26

+0

Crowder我们能否获得个人的身份证而不将其作为参数传递给个人?就像我在函数Show(value) – 2014-09-19 07:35:48

+0

@ShahAbdullah中所做的那样:将会有两部分内容:服务器端的HTML正在创建,客户端的JavaScript代码正在运行。在服务器端,你可以使用VS.Net内置的调试器(我不知道它的Razor部分)。客户端,您的浏览器内置了一个调试器 - 按F12或Ctrl + Shift + I或在菜单上查找“开发工具”。 – 2014-09-19 07:36:42