当列表框选择了文本时,我试图简单地将一些值移动到文本框中。
然后,我试图将所有文本构建到一个链接中。
但是,在使用Chrome或Firefox进行调试时,我的jquery事件在选择列表框时甚至都没有被点击。
有人可以告诉我我做错了什么吗?我以前不认为我有这个问题......
这是我的html:请注意,_guid变量位于名为" PartnerGuid"的值中。在书面的HTML之上......
请注意,列表框值已正确填充。
<fieldset>
<legend>Link Builder</legend>
<div class="row">
<div class="control-group span3">
<div class="controls">
@Html.DropDownListFor(model => model.url, Model.urlOptions, "Select a url...", new { style = "width:180px;" })
</div>
</div>
<div class="control-group span3 offset1">
<div class="controls">
@Html.DropDownListFor(model => model.pbid, Model.pbidOptions, "Select a pbid...", new { style = "width:180px;" })
</div>
</div>
<div class="control-group span3 offset1">
<div class="controls">
@Html.DropDownListFor(model => model.ldid, Model.ldidOptions, "Select a ldid...", new { style = "width:180px;" })
</div>
</div>
</div>
<div class="row">
<div class="control-group span3">
<div class="controls">
<table>
<tr>
<td>
<input type="text" id="txturl" />
</td>
<td>
<input type="text" id="txtpbid" />
</td>
<td>
<input type="text" id="txtldid" />
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="row">
<div class="control-group span9">
<div class="controls">
<table>
<tr>
<td>
<input type="text" id="txtlink" maxlength="250" />
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="row">
<div class="control-group span5 offset1">
<div class="controls">
<button type="button" name="build" value="build" id="build" class="btn btn-success">Build Link</button>
</div>
</div>
</div>
</fieldset>
var txturl = $('#url').val($("#url option:selected").text());
var txtpbid = $("#txtpbid").val($("#pbid option:selected").text());
var txtldid = $("#txtldid").val($("#ldid option:selected").text());
var _guid = $("#PartnerGuid").val();
$('#build').click(function (e) {
$("#txtlink").val("");
$("#txtlink").val(txturl + "Routes/?ptid=" + _guid + "&pbid=" + txtpbid + "&ldid=" + txtldid);
return false;
});
我将我的JS更改为以下内容,但仍然无法正常工作。它仍然无法工作的原因是因为页面上没有变量(如果你检查我的DropDownListFor模型名称(url,pbid,ldid)没有出现在页面中。
我不知道为什么。
我将MVC与父页面一起使用。 html&amp; js位于Partial(子)页面。
但是,我知道在调试过程中,你必须查看父页面,因为它们都不在子页面中(html或JS)。
我接下来该怎么办????
<div class="row">
<div class="control-group span3">
<div class="controls">
@Html.DropDownListFor(model => model.url, Model.urlOptions, "Select a url...", new { style = "width:180px;" })
</div>
</div>
<div class="control-group span3 offset1">
<div class="controls">
@Html.DropDownListFor(model => model.pbid, Model.pbidOptions, "Select a pbid...", new { style = "width:180px;" })
</div>
</div>
<div class="control-group span3 offset1">
<div class="controls">
@Html.DropDownListFor(model => model.ldid, Model.ldidOptions, "Select a ldid...", new { style = "width:180px;" })
</div>
</div>
</div>
答案 0 :(得分:0)
您可以使用jquery .change()函数来实现所需的结果。请看以下示例:
SELECT RESOURCE_NAME, REPLACE(EMAIL_ADDRESS, ' ', '')
FROM [RESOURCE]
WHERE
(@Name IS NULL OR (RESOURCE_NAME LIKE @Name))
这是jsfiddle示例https://jsfiddle.net/94Lx50at/
的链接