我有这个 jQuery 函数,它从 div 中获取内容,并在单击 div 时将其内容放入文本框中。
JQuery:
$('.table-time').click(function () {
$('input#Time').val($(this).html());
})
但我只想显示文本框中的部分内容。 例如,div:s 内容是:“08:00 - 09:30”,但我只想在文本框中显示:“08:00”。 我试图通过将 div:s 内容放入我的函数中的变量中,然后使用子字符串来解决它,但我不知道如何。甚至不知道这样做是否正确......
Html,Razor MVC 中的 C#:
foreach (var item in Model.LedigaTider)
{
<div class="table-time" id="@item.ToShortTimeString()" onclick="toggle_visibility('popupEventForm');">
@item.ToShortTimeString() - @item.AddMinutes(ViewBag.BehTid).ToShortTimeString()
</div>
}
最佳答案
您可以使用子字符串,但我认为使用 split
更容易:
var str = $.trim($(this).text().split('-')[0]);
$('input#Time').val(str);
- Trim 将从新值中删除空格;
- text 将获取文本而不是 html。在您的示例中不进行任何更改,但我更喜欢使用文本,这样您就不会遇到 HTML 实体的问题;
- Split 会将字符串转换为数组。每次遇到
-
时,它都会创建一个新单元格。最终数组为['08:00','09:30']
; [0]
选择该数组的第一个单元格。
关于c# - 放一个div :s content in a variable and use substring to show part of content in textbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22973289/