我有一个用于“书名”的下拉菜单。用户必须从下拉菜单中选择所需的书名。当用户选择书名时,我必须在只读文本框中显示该书的价格。从数据库中检索值。我怎样才能做到这一点?这不是重复的问题。我想知道如何在下拉菜单中选择关联的值。
控制器方法
public function getBooks()
{
return Book::all('BookName', 'BookID', 'Price');
}
查看页面
<div class="form-group" style="padding-left: 5%;">
<label>Book Name</label><span class="required">*</span>
<select class="js-example-basic-single form-control" name="sel_Book">
@foreach ($books as $data)
<option value="{{ $data->BookID }}">{{ $data->BookName }}</option>
@endforeach
</select>
</div>
<div class="form-group" style="padding-left: 5%;">
<label>Book Price</label><span class="required">*</span>
<input type="text" readonly="readonly" class="form-control"/>
</div>
答案 0 :(得分:0)
您需要对后端进行Ajax调用以检索图书价格,然后将该价格重新填充到只读价格字段中。确保在价格输入框(@foreach (var resultItem in Model.SearchRequest.SearchResults)
{
<tr>
@{
XmlDocument doc = new XmlDocument();
doc.LoadXml(resultItem.CrossSiteUrl);
XmlElement root = doc.DocumentElement;
string path = String.Empty;
string target = String.Empty;
if (!string.IsNullOrEmpty(resultItem.CrossSiteUrl))
{
if (!string.IsNullOrEmpty(root.Attributes["url"].Value))
{
path = root.Attributes["url"].Value;
}
if (!string.IsNullOrEmpty(root.Attributes["target"].Value))
{
target = root.Attributes["target"].Value;
}
}
}
<td><a href="@path" target="@target">@resultItem.PageTitle</a></td>
<td>@resultItem.DownloadTypeName</td>
<td>@resultItem.ReleaseDate.ToShortDateString()</td>
<td>@Convert.ToInt64(resultItem.FileSize).ConvertToSize()</td>
</tr>
<tr>
<td colspan="4">@resultItem.ShortDescription</td>
</tr>
}
)中输入一个ID,以便您可以使用该ID查找该输入元素并显示价格。
`
<input type="text" id="price-display" readonly="readonly" class="form-control"/>