简体   繁体   English

如何在视图中使用脚本方法从剃须刀listBox中获取变量

[英]how to grab a variable from a razor listBox using a script method in view

So I have aa razor list set up like so. 所以我有一个像这样设置的剃须刀清单。

@Html.ListBoxFor(m => m.Customer, new SelectList(Model.Customer, "Id", "Name", Model.Customer[0]), new { @id = "CustomerList", @onchange = "CustomerListSelectionChanged(this.value); SelectionGrab(this.innerHTML);" })

and the script is then a simple thing that runs like this 然后脚本就是这样简单运行

function SelectionGrab(e) {
    alert(e);
}

However when it runs the this.value I just get the value of the selected item, and when i use the this.innerHTML it grabs the entire HTML of the Listbox...when all i want is the single selected Variable... 但是,当它运行this.value时,我只是获得所选项目的值,而当我使用this.innerHTML时,它将获取列表框的整个HTML ...当我想要的只是单个选定的Variable ...

<select id="CustomerList" multiple="multiple" name="Customer" onchange="CustomerListSelectionChanged(this.value); SelectionGrab(this.innerHTML);"><option value="3">Nationwide</option>
<option value="5">C</option>
<option value="11">S</option>
<option value="14">Public Savings Credit Union (PSCU) </option>
<option value="15">Reliable Life Insurance</option>
<option value="18">Wellcare - "HIPPA CLIENT"</option>
<option value="21">Allianz</option>
<option value="26">World Omni - Southeast Toyota - Retail</option>
<option value="494">D</option>
<option value="497">Roanoke Gas (85115)</option>
<option value="498">World Omni-CenterOne (Retail)</option>
<option value="500">C</option>
<option value="502">Shenandoah Life - Individual (37243)</option>
<option value="614">POSTNET</option>
<option value="615">Test Account</option>
<option value="616">County of Chesterfield Taxes (26585,27144)</option>
<option value="617">County of Chesterfield Utilities (26725)</option>
<option value="619">Henrico County Utilities </option>
<option value="620">Henrico Personal Property (877-3369)</option>
<option value="621">Henrico Real Estate (321-3370)</option>
<option value="625">Time Warner Cable - Charlotte</option>
<option value="626">World Omni-Southeast Toyota (89)</option>
<option value="628">Home Furnishings - The Dump</option>
<option value="645">City of  Chesapeake (1606-1375)</option>
<option value="848">MIXED</option>
<option value="856">CAPITAL ONE BNK (70884, 71083,70886)</option>
<option value="886">Vingina Natural Gas</option>
<option value="892">World Omni-Center One </option>
<option value="893">Reliable Life Insurance</option>
<option value="899">Liberty Life Insurance</option>
<option value="901">World Omni 70832 (88)</option>
<option value="991"></option>
<option value="998">Kemper</option>
<option value="1231">PNC Fleetcor</option>
<option value="1947">Fleetcor BP</option>
<option value="2069">FDR ARCO</option>
<option value="2102">NEBCO</option>
<option value="2252">Prince William County Service Authority</option>
<option value="2520">Guilford County Tax</option>
<option value="2543">FAIRFAX WATER</option>
<option value="2544">PSCU</option>
<option value="3195">SOLSTAS LAB/SPECTRUM LAB- "HIPPA CLIENT"</option>
<option value="3259"></option>
<option value="3260"></option>
<option value="3261"></option>
<option value="3262"></option>
<option value="3263"></option>
<option value="3264"></option>
<option value="3265"></option>
<option value="3266"></option>
<option value="3267"></option>
<option value="3268"></option>
<option value="3269"></option>
<option value="3270"></option>
<option value="3276"></option>
<option value="3292"></option>
<option value="3293"></option>
<option value="3431">Henrico Utility</option>
<option value="3437">CONA - CAP ONE NEW ACCOUNTS</option>
<option value="3480">Morris Broadband LLC</option>
<option value="3506">CAROLINA WEST WIRELESS</option>
<option value="3598"></option>
<option value="3616"></option>
<option value="3617"></option>
<option value="3620"></option>
<option value="3621"></option>
<option value="3622"></option>
<option value="3623"></option>
<option value="3624"></option>
<option value="3625"></option>
<option value="3626"></option>
<option value="3627"></option>
<option value="3628"></option>
<option value="3682"></option>
<option value="3683"></option>
<option value="3691"></option>
<option value="3692">TOWN OF CARY</option>
<option value="3705"></option>
<option value="3725">VANDERBILT/CLAYTON HOMES</option>
<option value="3731"></option>
<option value="3761">UHS GREENVILLE - "HIPPA CLIENT"</option>
<option value="3783"></option>
<option value="3785">City of Raleigh</option>
<option value="3786"></option>
<option value="3787"></option>
<option value="3793"></option>
<option value="3830"></option>
<option value="3831"></option>
<option value="3832"></option>
<option value="3837"></option>
<option value="3840"></option>
<option value="3841"></option>
<option value="3849">Fairwinds Credit Union</option>
<option value="3958"></option>
<option value="4084"></option>
<option value="4091"></option>
<option value="4107"></option>
<option value="4139"></option>
<option value="4145">Hampton Rd. Sanitation</option>
<option value="4156"></option>
<option value="4167">G E Debt Cancellation</option>
<option value="4171"></option>
<option value="4200"></option>
<option value="4203">Dearborn National Life Insurance</option>
<option value="4206"></option>
<option value="4212">Athene Annuity</option>
<option value="4216"></option>
<option value="4217"></option>
<option value="4229"></option>
<option value="4242"></option>
<option value="4253">USHA-Knology</option>
<option value="4254">Comporium-Knology</option>
<option value="4256"></option>
<option value="4274">CRS 300 (71104, 71106, 71107)</option>
<option value="4275">Metris 303</option>
<option value="4285"></option>
<option value="4286"></option>
<option value="4287"></option>
<option value="4288"></option>
<option value="4289"></option>
<option value="4291"></option>
<option value="4313">Volvo Retail</option>
<option value="4314">Volvo- Lease</option>
<option value="4346">Capital One Restrictive Wording </option>
<option value="4494"></option>
<option value="4499"></option>
<option value="4580"></option>
<option value="4602"></option>
<option value="4603"></option>
<option value="4604"></option>
<option value="4605"></option>
<option value="4606"></option>
<option value="4607"></option>
<option value="4608"></option>
<option value="4610"></option>
<option value="4611"></option>
<option value="4612"></option>
<option value="4618"></option>
<option value="4622"></option>
<option value="4623"></option>
<option value="4629"></option>
<option value="4630"></option>
<option value="4631"></option>
<option value="4632"></option>
<option value="4633"></option>
<option value="4637"></option>
<option value="4662">Carolina Health Care - 'HIPPA CLIENT"</option>
<option value="4664">City of Richmond RE (043)</option>
<option value="4674">City of Richmond PP (042) </option>
<option value="4685">U</option>
</select>

The above is what the html list box is in view. 上面是html列表框的视图。 Now...what I want is when i select let's say the "C" I don't want the entire CustomerList's innerHTML...just the selected's innerHTML... Help please? 现在...我想要的是当我选择“ C”时,我不希望整个CustomerList的innerHTML ...只是所选内容的innerHTML ...帮助吗?

In SelectionGrab function call, pass the reference of the element by using this : SelectionGrab函数调用,通过使用传递元件的参考this

SelectionGrab(this)

and then in function definition extract the selected value this way: 然后在函数定义中以这种方式提取所选值:

function SelectionGrab(e) {
    var selectedCustomerId = e.options[e.selectedIndex].innerHTML;
    alert(selectedCustomerId);
}
this.options[this.selectedIndex].innerHTML

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM