我有一个表(id ="docsTable"),其行看起来类似于:
<tr bgcolor="#E7DDCC">
<td align="center"><input type="checkbox" name="docsToAddToClass[]" value="35" /></td>
<td>Document Title</td>
<td>Document Description.</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
我需要遍历表,确定用户已选中的复选框,对于带有复选复选框的行,请获取第一个的值和下两个的文本.
我不需要构建集合:在每次迭代中,我想在其他地方更改一些元素.这不是困难的部分(对我来说).它试图弄清楚如何遍历表并仅选中带有选中复选框的s.
我在这里看到了SO关于这个相同主题的其他帖子,但我还没有找到一个设置select使用的解决方案jQuery.
我有一个下拉列表,如下所示:
<select type="select" id="docsList" name="docsList">
<option id="defaultListItem" value="0">Select a Document...</option>
<option value="38">Document 1</option>
<option value="35">Document 2</option>
<option value="46">Document 3</option>
<option value="45">Document 4</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我需要在$.ajax() 成功函数中重置下拉列表.我用过以下内容:
$('select#docsList option:selected').val('0');
$('select#docsList').attr('selectedIndex', 0);
Run Code Online (Sandbox Code Playgroud)
......和其他一些人.
我开始认为这段代码很好,我还有其他的事情阻止重置下拉列表.
我不能为我的生活找出我所缺少的东西.
在这个jsFiddle中,我正在隐藏一个带有两个文本框的div在dom上准备好了.我想在下拉列表中选择特定选项时显示div.
这是隐藏/显示的div:
<div id="movieAddNewDirector">
<label id="lblMovieAddDirector">Add a New Director:</label>
<br />
<label for="txtMovieAddNewDirectorFirstName">First Name:</label>
<input type="text" name="txtMovieAddNewDirectorFirstName" id="txtMovieAddNewDirectorFirstName" size="20" />
<br />
<label for="txtMovieAddNewDirectorLastName">Last Name:</label>
<input type="text" name="txtMovieAddNewDirectorLastName" id="txtMovieAddNewDirectorLastName" size="20" />
</div>
Run Code Online (Sandbox Code Playgroud)
这是相关的jQuery代码
$('#ddlMovieAddDirector').change(function () {
var id = $(this).find('option:selected').attr('id');
alert('id: ' + id);
if (id == '#optMovieAddDirectorNew') {
alert('attempting to show new director div');
$('#movieAddNewDirector').show();
} else {
alert('id didn\'t match - id: ' + id);
$('#movieAddNewDirector').hide();
}
});
Run Code Online (Sandbox Code Playgroud)
始终显示"id not match",即使选择了第二个选项,显示检测到的id的第一个警报显示应显示div的正确ID!
我知道我在jQuery中有正确的ID,但我不明白为什么这不起作用.我有一些非常相似的工作,用于显示/隐藏div的单选按钮选择.
任何帮助将不胜感激!
这是我的jQuery脚本:
$.ajax({
type: 'POST',
url: 'zipCodes.php',
data: searchZipCode,
cache: false,
success: function(response) {
alert ('response from db search: ' + response);
},
error: function(response) {
console.log(response);
alert('Query failed, php script returned this response: ' + response);
}
});
Run Code Online (Sandbox Code Playgroud)
上面的脚本位于表单所在的html文件的head标签中.php脚本与html文件位于同一文件夹中.
这是表格:
<form id="frmZipCodeSearch" action="">
<label for="txtZipCodeSearch">Enter a zip code</label>
<input type="text" id="txtZipCodeSearch" length="10" maxlength="5" />
<input type="submit" id="btnSubmitZipCodeSearch" />
</form>
Run Code Online (Sandbox Code Playgroud)
我还验证了"searchZipCode"有一个值.
每次我运行搜索时,我都会从ajax调用的错误部分得到警报
查询失败,php脚本返回此响应:[object Object]
这显示在控制台中:
Object {readyState:0,setRequestHeader:function,getAllResponseHeaders:function,getResponseHeader:function,overrideMimeType:function ...}
我试过将php脚本剥离到只是一个回声.我没有在服务器上的脚本文件夹中生成任何php错误日志.我没有改变似乎给了我不同的结果.除了一个例外:
我得到不同结果的唯一一次是当我剥离ajax并将php脚本移动到带有表单的文件并执行"常规"html表单POST方法.那很有效.但是当php是一个不同的文件时我不认为路径是错误的,因为我没有在控制台中找到"找不到文件".
我到底错过了什么?
[附加信息] 为了回应hek2mgl的回答,我在错误响应中添加了xhr,并在控制台中获得了更多信息:
Uncaught ReferenceError: xhr is not defined …Run Code Online (Sandbox Code Playgroud) 我正在对函数中的字符串进行正则表达式检查:
function ValidateZipCodeString(listOfZipCodes) {
var regex = /^([, ]*\d{5})+[, ]*$/,
matches = regex.exec(listOfZipCodes);
if (regex.exec(listOfZipCodes) === null) {
console.log('validation failed');
return false;
} else {
console.log('validation passed');
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
正则表达式正确检测有效/无效的邮政编码列表.
我用这个调用函数:
console.log('zip code: ' + listOfZipCodes);
if (ValidateZipCodeString(listOfZipCodes)) {
$tr.find('label#lblCoverageEditError').text('There is invalid text in the list of zip codes. Only 5-digit zip codes allowed.').show();
} else {
console.log('validate function returned true');
}
Run Code Online (Sandbox Code Playgroud)
问题是当验证函数中的控制台输出显示"验证失败"时,上面的if/else转到else子句.所以我一定不能正确地称这个功能.
做我正在做的事情的正确方法是什么?
当点击另一个div时,我正在显示并隐藏div.我需要能够确定是否显示或隐藏了特定的div.
最终我要做的是,当点击某个div时,所有其他"显示/隐藏"div应该被隐藏,然后确定clicked-div的相关div是否显示,如果是,则隐藏它,否则显示它.
我还需要根据切换状态向显示/隐藏的div添加/删除css类(用于背景颜色).
这是我用来切换div的显示/隐藏状态的jQuery代码:
$('#movieListTable').on('click', 'div.vitalsTable', function (e) {
// Don't do anything if the Edit button or Delete checkbox is clicked
if (event.target.className !== 'btnEditMovie' && event.target.className !== 'chkDeleteMovie') {
$(this).parent().parent().find('div.detailsTable').toggle('blind','easeInOutQuart', 300);
}
});
Run Code Online (Sandbox Code Playgroud)
奇怪 - 令人沮丧的是,我读过的所有内容,包括SO的答案,都表明我应该能够检查显示状态("无")或可见属性,但是既不检查控制台这些是在显示/隐藏的div上设置的.
我创建了一个jsFiddle让你搞砸.
关于toggle()的jQuery文档讨论了关于页面下方3/4的布尔参数"showOrHide",其中一种方法是使用toggle(),但是我还没弄清楚如何使用我自己......
这是针对VS2015社区中的VB.NET 4.5项目.
我试图从列表框中删除某些选定的项目,但仅限于所选项目符合条件.我找到了很多关于如何删除所选项目的示例.但是没有任何东西适用于嵌套在循环中通过所选项目的条件(至少,我无法让这些示例与我正在尝试做的事情一起工作......)
这是我的代码:
Dim somecondition As Boolean = True
Dim folder As String
For i As Integer = 0 To lstBoxFoldersBackingUp.SelectedItems.Count - 1
If somecondition = True Then
folder = lstBoxFoldersBackingUp.SelectedItems.Item(i)
Console.WriteLine("folder: " & folder)
lstBoxFoldersBackingUp.SelectedItems.Remove(lstBoxFoldersBackingUp.SelectedItems.Item(i))
End If
Next
Run Code Online (Sandbox Code Playgroud)
控制台输出正确显示当前迭代项的文本,但我无法使Remove()工作.由于代码现在,我得到控制台输出,但列表框不会改变.
我不知道这篇文章的标题是否有意义,但这里有一个我正在使用的样本:
<tbody>
<tr class="classRow" bgcolor="#EFE5D3" style="font-weight: bold;">
<td width="35px"><a class="classEditLink" name="33" href="#">Edit</a></td>
<td width="20px"><input type="checkbox" class="chkSelectToDelete" name="deleteClasses[]" value="33" /></td>
<td>CLASS1234</td>
<td>Class description</td>
</tr>
<tr class="classDocsRow noDocs">
<td colspan="4">
<strong>No documents are currently associated with this class.</strong>
</td>
</tr>
</tbody>
Run Code Online (Sandbox Code Playgroud)
我需要通过使用以前行的第一个发现它删除第二行<td>的<a>'name属性.psuedo代码就像是
$('.classRow a[name="' + classID + '"]').parent().parent().next().remove()
Run Code Online (Sandbox Code Playgroud)
我不知道这是否是正确的jQuery语法(因为它不起作用),但希望你明白:选择器的"起点"是<a>标签的name属性,我需要删除以下内容行.该<a>标签的name属性是在给定的唯一独特的属性<tbody>页上(未计有第三和第四<td>的是行S,但你明白了吧).
什么是正确格式化/语法化的jQuery选择器来做到这一点?
我有一个VB.NET 2013程序,它读取/写入xml文档,当我知道其中一个节点的兄弟节点的文本时,我正试图弄清楚如何访问特定节点.我看过其他帖子与我正在尝试的类似,但我的xml结构略有不同,我不知道如何将这些解决方案应用到我的文档中.
这是我的xml结构示例:
<?xml version="1.0" encoding="utf-8"?>
<Books>
<Book>
<Title>Hansel and Gretel</Title>
<Pages>221</Pages>
<Price>3.5</Price>
<Author>Grimm</Author>
</Book>
<Book>
<Title>Green Eggs and Ham</Title>
<Pages>145</Pages>
<Price>5.25</Price>
<Author>Dr. Seuss</Author>
</Book>
</Books>
Run Code Online (Sandbox Code Playgroud)
我在其他帖子中看到的示例在节点名称中包含值<Title title="Green Eggs and Ham">.如你所见,我的不是.
我无法弄清楚如何使用XPath,XPathNavigator等来查找我的xml文档的价格,例如,如果我知道标题.
我看到了很多看起来像的例子:/Books/Book[@Title="Green Eggs and Ham"]我尝试将它与XPathNavigator.SelectSingleNode()一起使用,但我无法弄清楚正确的VB.Net/XPath语法与我的xml格式一起使用.
更新(示例答案)由于我在VB.NET项目中使用它,我需要知道如何使用Bogdan和ThW给出的示例.使用我的示例XML我这样做是为了获得标题"Hansel and Gretel"的页面数量:
Dim xpathDoc As XPathDocument = New XPathDocument([path_to_xml)
Dim xmlNav as XPathNavigator = xpathDoc.CreateNavigator()
Dim pages as String
pages = xmlNav.SelectSingleNode("/Books/Book[Title='Hansel and Gretel']/Pages").Value
Run Code Online (Sandbox Code Playgroud)
当然,返回"221"
我的字段名称为DOE JOHN HOWARD或DOE JOHN H.
我需要一个查询来获取两个空格之间的字符串(在本例中为JOHN).
这里的答案显示了当所需的子字符串位于两个不同的字符串之间时如何执行此操作,但是当所需的子字符串位于同一字符串的两个实例(在本例中为空格)之间时,我看不到如何应用类似的东西.
我怎样才能做到这一点?
jquery ×5
javascript ×2
vb.net ×2
ajax ×1
html ×1
html-table ×1
jquery-ui ×1
listbox ×1
loops ×1
php ×1
reset ×1
return-value ×1
row ×1
rows ×1
selecteditem ×1
show-hide ×1
sql-server ×1
substring ×1
t-sql ×1
toggle ×1
xml ×1
xpath ×1