how to get id of fieldset - extjs4

my question is similar to Extjs 4 How to get id of parent Component?.
But i am looking solution for it. As the answer given in the question doesn't seems to be useful
In my case i m having button in my each fieldset and also i m creating these fieldsets dynamically which contain button inside it.
Now on click event of button which is inside fieldset i want to get its corresponding fieldset id

This code will return parent fieldset:
button.up("[xtype='fieldset']")

Mahesh,
ACtully the problem in our case is , it is not extending the Ext.form.FieldSet.
So look this Extjs 4 How to get id of parent Component?
As Zango said, **button.up("[xtype='fieldset']")** will work for you.
Thanks,
Kunal

Related

Click on first element contained in a div

I have a div that contains a set of dynamic elements. I want to click on the first search result.
I want to click on the first element contains in
I tried using creating a custom xPath like so but it didn't work. Any ideas here?
//div[1][contains(text(), 'listing')]
First of all It would've helped if you had provided more information.
best will be using pseudo-child like div.firstChild or if the elements are generated dynamically you can add a class and use document.querySelectorAll(".class") which will give you an array of elements that had the class.
You can use array[0] to use click on the first element.
For anyone coming across this thread here is the solution
const listings = await page.$x('//*[contains(#id,"listing_")]')

Parent-Child Checkbox in Material Checkbox

I have two cases that I want to implement:
[]Checkbox1
[]checkbox1.1
[]checkbox1.2
If I select parent node checkbox1 it should not select it's children.
If I select both the child, it should not select parent.
I am using mat checkboxes, any idea how it can be achieved.
I don't believe that Material Component has this logic it self, at leats yet, look here, there is an issue reported:
https://github.com/material-components/material-components-android/issues/857
If you wanna extend the Material Check Button and add you the logic you can do it, have a look into this answer:
Creating a three states checkbox on android

Vue.js get element by id/ref

I have a custom component called 'menu-entry':
<menu-entry v-for="field in fields" :id:"field.id" :ref="field.id" v-bind:key="field.id" v-bind:class="[classArray]" v-bind:field="field" v-on:clicked="menuEntryClicked">
</menu-entry>
I need to get one of them (for example field.id = 2) and remove an item from the classArray.
this.$refs[2] is working for HTML elements, but not for custom elements.
this.$el.querySelector isnt working either.
is there another way to remove an item from the classArray of a specific element?
Your question it is not clear but you are trying to set id and ref to field.id so following this logic it is not necessary to do though.
You can just send the id to the method you are executing like below:
<menu-entry
v-for="field in fields"
v-bind:key="field.id"
v-bind:class="[classArray]"
v-bind:field="field"
v-on:clicked="menuEntryClicked(field.id)" // <= send the id here
>
</menu-entry>
I am not sure if i helped but regarding your question, now you can figoure out which id of element is clicked and remove it from classArray or whatever you want
2 is not a valid id selector when you use document.querySelector('#2'); maybe you can use document.getElementById('2') instead - it can work.

Selenium WebDriver WebTable getData: How to get a value of "td" if it is depends on another "td"

I am facing one issue where the value of a one particular cell(td) in a webtable depends on another cell (td)..
Example:
Use http://www.espncricinfo.com/new-zealand-v-australia-2015-16/engine/match/914239.html and click on Full score...
Now I want to get a batsmen name who is unbeaten (Need "Not out" batsman from New Zealand 1st Innings. In this case "TA Boult")
But "TA Boult" and "Not out" are 2 different td's of a same "tr".
Can someone please guide me how to achieve this?
The following XPath would solve this issue for you:
//table[contains(#class,"batting-table")][1]//td/a[.="TA Boult"]/../../td[#class="dismissal-info" and contains(text(), "not out")]
You may want to make the selector for the top table a bit more specific, but essentially this XPath is doing the following:
Find the first table that contains the classname "batting-table"
Get all the td elements within this table
Get all the a elements within the td elements
Specify that the a element's text must be the player you are searching form, in this case, TA Boult.
Use /../.. to select the parent of the parent of the a element that has the text "TA Boult". So if the parent of the a tag is td, the parent of the td tag is tr.
Now that we are in the row containing any matching a tags, we can search within this row for the td tag with the "dismissal-info" class that contains the text "not out".
From there you could then use /../.. again to return the entire row as the result of the XPath.
So essentially, you are searching for a row, then searching for a child, then searching for a parent, then searching for a different child and then returning a correct row.
Hope that helps!
Ok so...
//all tr elements.
IList<IWebElement> tableTRCollection = driver.FindElement(By.Xpath("//table[#class='batting-table innings']")).FindElements(By.TagName("tr"))
//in every tr all td elements will be:
IList<IWebElement> tableTDCollection;
foreach(IWebElement tr in tableTRCollection )
{
tableTDCollection = tr.FindElements(By.TagName("td"));
}
//in td collection take all td
foreach(IWebElement td in tableTDCollection )
{
string tdText = td.Text;
}
and so on...
after you get all the collections you can get everything.
Thank you all for answers.. I was able to find an answer after a lot of struggle, but found solution is almost same that Ben has suggested.
I did not try another suggested solution though..
Below is the code...
WebElement name = driver.findElement(By.xpath(".//*[#id='full-scorecard']/div[2]/div/table[1]//td[#class='dismissal-info'][contains(text(),'not out')]/ancestor::tr/td[#class='batsman-name']"));

colorbox check parent element exist

i am using colorbox to open a window that appears a grid with categories. After select the check boxes i draw the categories at parent window.So far so good.
My problem is that before draw i check if the category exist in parent window but its not working
if($('#cat-2', window.parent.document).length==0)
$('#categories', window.parent.document).append(newdata);
Am i missing something.
if($('#cat-2', window.parent.document).length==0) is saying "do something if #cat-2 doesn't exist."
Maybe try simply if($('#cat-2', window.parent.document).length)